From ec5e8391295582eafe118d0c114768d4d973845f Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Thu, 3 May 2012 10:17:32 +0200 Subject: [ADD] client action to reload the interface (useful for refreshing the menus and current view) bzr revid: rco@openerp.com-20120503081732-ry9nj048tlh464z7 --- addons/web/static/src/js/views.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 798c5bb1493..ae1ec8fdc6e 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1318,6 +1318,18 @@ instance.web.str_to_xml = function(s) { */ instance.web.client_actions = new instance.web.Registry(); +/** + * Client action to reload the whole interface; refreshes the menu and reloads the current view + */ +instance.web.client_actions.add("reload_all", "instance.web.ReloadAll"); + +instance.web.ReloadAll = instance.web.Widget.extend({ + template: "EmptyComponent", + start: function() { + window.location.reload(); + } +}); + /** * Registry for all the main views */ -- cgit v1.2.3 From 5ca8aea6eb34a19022b97c488fbf0caeef143330 Mon Sep 17 00:00:00 2001 From: Minh Tran Date: Mon, 14 May 2012 18:08:04 +0200 Subject: [FIX] viewmanager switch icons bzr revid: mit@openerp.com-20120514160804-eq0lyzciq2xp3c27 --- addons/web/static/src/css/base.css | 7 ++++++- addons/web/static/src/css/base.sass | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 2714925583b..5d2102630cb 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1072,7 +1072,12 @@ position: relative; } .openerp .oe_view_manager_switch .oe_vm_switch_gantt:after { - content: "c"; + font-family: "mnmliconsRegular" !important; + font-size: 21px; + font-weight: 300 !important; + content: "y"; + top: -2px; + position: relative; } .openerp .oe_view_manager_switch .oe_vm_switch_calendar:after { content: "P"; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 102e640b918..567732ed080 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -841,7 +841,12 @@ $colour4: #8a89ba top: -2px position: relative .oe_vm_switch_gantt:after - content: "c" + font-family: "mnmliconsRegular" !important + font-size: 21px + font-weight: 300 !important + content: "y" + top: -2px + position: relative .oe_vm_switch_calendar:after content: "P" .oe_vm_switch_kanban:after -- cgit v1.2.3 From 6f93d28f6f9c031f221cfe0cd6b2753e9e79b072 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 15 May 2012 09:41:39 +0200 Subject: [IMP] chrome.js lint bzr revid: fme@openerp.com-20120515074139-phc4hzbay2i13wzm --- addons/web/static/src/js/chrome.js | 55 ++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 26 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index b740c61c9df..f2ccb4dc5f4 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -47,7 +47,7 @@ instance.web.dialog = function(element) { var result = element.dialog.apply(element, _.rest(_.toArray(arguments))); result.dialog("widget").addClass("openerp"); return result; -} +}; instance.web.Dialog = instance.web.Widget.extend({ dialog_title: "", @@ -162,7 +162,7 @@ instance.web.CrashManager = instance.web.CallbackEnabled.extend({ } }, on_managed_error: function(error) { - instance.web.dialog($('
' + QWeb.render('CrashManager.warning', {error: error}) + '
'), { + instance.web.dialog($('
' + QWeb.render('CrashManager.warning', {error: error}) + '
'), { title: "OpenERP " + _.str.capitalize(error.type), buttons: [ {text: _t("Ok"), click: function() { $(this).dialog("close"); }} @@ -181,7 +181,7 @@ instance.web.CrashManager = instance.web.CallbackEnabled.extend({ // Call the send method from server to send mail with details new instance.web.DataSet(self, 'publisher_warranty.contract').call_and_eval('send', [error.data,explanation,remark,issuename]).then(function(result){ if (result === false) { - alert('There was a communication error.') + alert('There was a communication error.'); } else { $this.dialog('close'); } @@ -269,12 +269,12 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ start: function() { var self = this; var fetch_db = this.rpc("/web/database/get_list", {}).pipe( - function(result) { - self.db_list = result.db_list; + function(result) { + self.db_list = result.db_list; }, - function (_, ev) { + function (_, ev) { ev.preventDefault(); - self.db_list = null; + self.db_list = null; }); var fetch_langs = this.rpc("/web/session/get_lang_list", {}).then(function(result) { self.lang_list = result.lang_list; @@ -286,9 +286,9 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ self.$element.html(QWeb.render("DatabaseManager", { widget : self })); self.$element.find(".oe_database_manager_menu").tabs(); self.$element.find("form[name=create_db_form]").validate({ submitHandler: self.do_create }); - self.$element.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop }); - self.$element.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup }); - self.$element.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore }); + self.$element.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop }); + self.$element.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup }); + self.$element.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore }); self.$element.find("form[name=change_pwd_form]").validate({ messages: { old_pwd: "Please enter your previous password", @@ -300,7 +300,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ }, submitHandler: self.do_change_password }); - self.$element.find("#back_to_login").click(self.do_exit); + self.$element.find("#back_to_login").click(self.do_exit); }, destroy: function () { this.$element.find('#db-create, #db-drop, #db-backup, #db-restore, #db-change-password, #back-to-login').unbind('click').end().empty(); @@ -409,12 +409,12 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ self.display_error({ title: 'Access Denied', error: 'Incorrect super-administrator password' - }) + }); } else { self.display_error({ title: 'Restore Database', error: 'Could not restore the database' - }) + }); } }, complete: function() { @@ -451,7 +451,7 @@ instance.web.Login = instance.web.Widget.extend({ if (this.has_local_storage && this.remember_credentials) { this.selected_db = localStorage.getItem('last_db_login_success'); this.selected_login = localStorage.getItem('last_login_login_success'); - if (jQuery.deparam(jQuery.param.querystring()).debug != undefined) { + if (jQuery.deparam(jQuery.param.querystring()).debug !== undefined) { this.selected_password = localStorage.getItem('last_password_login_success'); } } @@ -471,7 +471,7 @@ instance.web.Login = instance.web.Widget.extend({ self.$element.find('.oe_login_bottom').show(); self.$element.find('.oe_login_pane').show(); self.load_db_list(); - }) + }); }); self.load_db_list(); }, @@ -486,7 +486,7 @@ instance.web.Login = instance.web.Widget.extend({ }); }, set_db_list: function (list) { - this.$element.find("[name=db]").replaceWith(instance.web.qweb.render('Login.dblist', { db_list: list, selected_db: this.selected_db})) + this.$element.find("[name=db]").replaceWith(instance.web.qweb.render('Login.dblist', { db_list: list, selected_db: this.selected_db})); }, on_submit: function(ev) { if(ev) { @@ -525,7 +525,7 @@ instance.web.Login = instance.web.Widget.extend({ if(self.remember_credentials) { localStorage.setItem('last_db_login_success', db); localStorage.setItem('last_login_login_success', login); - if (jQuery.deparam(jQuery.param.querystring()).debug != undefined) { + if (jQuery.deparam(jQuery.param.querystring()).debug !== undefined) { localStorage.setItem('last_password_login_success', password); } } else { @@ -641,8 +641,9 @@ instance.web.Menu = instance.web.Widget.extend({ * @param {Number} id the action_id to match */ open_action: function (id) { - var menu_id, $menu = this.$element.add(this.$secondary_menus).find('a[data-action-id=' + id + ']'); - if (menu_id = $menu.data('menu')) { + var $menu = this.$element.add(this.$secondary_menus).find('a[data-action-id=' + id + ']'); + var menu_id = $menu.data('menu'); + if (menu_id) { this.open_menu(menu_id); } }, @@ -669,7 +670,7 @@ instance.web.Menu = instance.web.Widget.extend({ action_id = $items.data('action-id'); id = $items.data('menu'); } - } + } } this.open_menu(id); this.current_menu = id; @@ -709,7 +710,9 @@ instance.web.UserMenu = instance.web.Widget.extend({ }); this.$element.on('click', '.oe_dropdown_options li a[data-menu]', function() { var f = self['on_menu_' + $(this).data('menu')]; - f && f($(this)); + if (f) { + f($(this)); + } self.$element.find('.oe_dropdown_options').hide(); return false; }); @@ -837,7 +840,7 @@ instance.web.WebClient = instance.web.Widget.extend({ start: function() { var self = this; this.$element.addClass("openerp openerp-web-client-container"); - if (jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { + if (jQuery.param !== undefined && jQuery.deparam(jQuery.param.querystring()).kitten !== undefined) { this.$element.addClass("kitten-mode-activated"); this.$element.delegate('img.oe-record-edit-link-img', 'hover', function(e) { self.$element.toggleClass('clark-gable'); @@ -899,7 +902,7 @@ instance.web.WebClient = instance.web.Widget.extend({ message: message, data: {debug: file + ':' + line} }); - } + }; } this.notification = new instance.web.Notification(this); this.notification.appendTo(this.$element); @@ -970,7 +973,7 @@ instance.web.WebClient = instance.web.Widget.extend({ }, do_action: function(action) { var self = this; - // TODO replace by client action menuclick + // TODO replace by client action menuclick if(action.menu_id) { this.do_reload().then(function () { self.menu.menu_click(action.menu_id); @@ -989,7 +992,7 @@ instance.web.EmbeddedClient = instance.web.Widget.extend({ template: 'EmptyComponent', init: function(parent, action_id, options) { this._super(parent); - // TODO take the xmlid of a action instead of its id + // TODO take the xmlid of a action instead of its id this.action_id = action_id; this.options = options || {}; this.am = new instance.web.ActionManager(this); @@ -1030,7 +1033,7 @@ instance.web.embed = function (origin, dbname, login, key, action, options) { }); }); -} +}; }; -- cgit v1.2.3 From 7d392a76a29b7d3cecac1824010538e72f31e230 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 15 May 2012 09:53:20 +0200 Subject: [FIX] Fie database manager fields focus bzr revid: fme@openerp.com-20120515075320-mqb6vq94ijtf7lzu --- addons/web/static/src/js/chrome.js | 6 +++++- addons/web/static/src/xml/base.xml | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index f2ccb4dc5f4..d1ff69d22cb 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -284,7 +284,11 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ do_render: function() { var self = this; self.$element.html(QWeb.render("DatabaseManager", { widget : self })); - self.$element.find(".oe_database_manager_menu").tabs(); + self.$element.find(".oe_database_manager_menu").tabs({ + show: function(event, ui) { + $('*[autofocus]:first', ui.panel).focus(); + } + }); self.$element.find("form[name=create_db_form]").validate({ submitHandler: self.do_create }); self.$element.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop }); self.$element.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index c0c86af2780..ab840bcd9bb 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -136,7 +136,7 @@ - + -- cgit v1.2.3 From d007f0cf5d5f0d3f22f7a9462b8ecaf4468a8655 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 15 May 2012 10:34:45 +0200 Subject: [FIX] client action 'reload_all': remove template bzr revid: rco@openerp.com-20120515083445-2bu5c4nbtxnszifv --- addons/web/static/src/js/views.js | 1 - 1 file changed, 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index ae1ec8fdc6e..3cc4692feda 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1324,7 +1324,6 @@ instance.web.client_actions = new instance.web.Registry(); instance.web.client_actions.add("reload_all", "instance.web.ReloadAll"); instance.web.ReloadAll = instance.web.Widget.extend({ - template: "EmptyComponent", start: function() { window.location.reload(); } -- cgit v1.2.3 From 0a4dbe154c00a5de98672213710ed5b6dd599641 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 15 May 2012 14:09:40 +0200 Subject: [IMP] rename client action 'reload_all' into 'reload' bzr revid: rco@openerp.com-20120515120940-cmxvhk63j06judoq --- addons/web/static/src/js/views.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 3cc4692feda..5501be58f9e 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1321,9 +1321,9 @@ instance.web.client_actions = new instance.web.Registry(); /** * Client action to reload the whole interface; refreshes the menu and reloads the current view */ -instance.web.client_actions.add("reload_all", "instance.web.ReloadAll"); +instance.web.client_actions.add("reload", "instance.web.Reload"); -instance.web.ReloadAll = instance.web.Widget.extend({ +instance.web.Reload = instance.web.Widget.extend({ start: function() { window.location.reload(); } -- cgit v1.2.3 From d3daae2716d09f6b6ff7ad421eb8cf37505e2276 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 15 May 2012 15:35:23 +0200 Subject: [IMP] client action 'reload': optionally open a given menu_id bzr revid: rco@openerp.com-20120515133523-78amsdjhtbzr6akj --- addons/web/static/src/js/views.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 5501be58f9e..e38f2422111 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1319,13 +1319,24 @@ instance.web.str_to_xml = function(s) { instance.web.client_actions = new instance.web.Registry(); /** - * Client action to reload the whole interface; refreshes the menu and reloads the current view + * Client action to reload the whole interface. + * If params has an entry 'menu_id', it opens the given menu entry. */ instance.web.client_actions.add("reload", "instance.web.Reload"); instance.web.Reload = instance.web.Widget.extend({ + init: function(parent, params) { + this._super(parent); + this.menu_id = (params && params.menu_id) || false; + }, start: function() { - window.location.reload(); + if (this.menu_id) { + // open the given menu id + var url_without_fragment = window.location.toString().split("#", 1)[0]; + window.location = url_without_fragment + "#menu_id=" + this.menu_id; + } else { + window.location.reload(); + } } }); -- cgit v1.2.3 From bfbaf48e98c001d5af9cfb47bfe3a78a756c5a73 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 15 May 2012 16:10:02 +0200 Subject: [fix] create button invisible in m2m bzr revid: nicolas.vanhoren@openerp.com-20120515141002-coccv7acdndnu3bg --- addons/web/static/src/js/view_form.js | 4 +++- addons/web/static/src/xml/base.xml | 6 ++++++ 2 files changed, 9 insertions(+), 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 3b9cc7570d0..b0cf4df6b78 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3223,6 +3223,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(_. * TODO niv: clean those deferred stuff, it could be better */ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({ + template: "FieldMany2Many.render", multi_selection: false, disable_utility_classes: true, init: function(field_manager, node) { @@ -3273,6 +3274,7 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({ 'addable': self.get("effective_readonly") ? null : _t("Add"), 'deletable': self.get("effective_readonly") ? false : true, 'selectable': self.multi_selection, + '$buttons': $(".oe_form_view_m2m_buttons", self.$element), }); var embedded = (this.field.views || {}).tree; if (embedded) { @@ -3285,7 +3287,7 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({ loaded.resolve(); }); $.async_when().then(function () { - self.list_view.appendTo(self.$element); + self.list_view.appendTo($(".oe_form_view_m2m_view", self.$element)); }); return loaded; }, diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index ab840bcd9bb..b2af11b7078 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1054,6 +1054,12 @@ + +
+
+
+
+
-- cgit v1.2.3 From 6a198b90991254c27612eceec217718830d0a68d Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Tue, 15 May 2012 17:17:56 +0200 Subject: [IMP] allow #menu_id= in url for client action reload bzr revid: al@openerp.com-20120515151756-cifgi1a3iugbc08l --- addons/web/static/src/js/chrome.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index d1ff69d22cb..ef75bbff6b1 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -961,9 +961,16 @@ instance.web.WebClient = instance.web.Widget.extend({ } }, on_hashchange: function(event) { + var self = this; var state = event.getState(true); if (!_.isEqual(this._current_state, state)) { - this.action_manager.do_load_state(state, !!this._current_state); + if(state.action_id === undefined && state.menu_id) { + self.menu.has_been_loaded.then(function() { + self.menu.menu_click(state.menu_id); + }); + } else { + this.action_manager.do_load_state(state, !!this._current_state); + } } this._current_state = state; }, -- cgit v1.2.3 From 33f28d3d6bc61dcb5dea33913925aae49358db27 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Tue, 15 May 2012 17:34:23 +0200 Subject: [FIX] #menu_id loading, move client_actions registry bzr revid: al@openerp.com-20120515153423-bj6vgiuwq26cyq5o --- addons/web/static/src/js/chrome.js | 4 +++- addons/web/static/src/js/coresetup.js | 27 +++++++++++++++++++++++++++ addons/web/static/src/js/views.js | 27 --------------------------- 3 files changed, 30 insertions(+), 28 deletions(-) (limited to 'addons/web/static/src') diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index ef75bbff6b1..b71a504b52f 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -966,7 +966,9 @@ instance.web.WebClient = instance.web.Widget.extend({ if (!_.isEqual(this._current_state, state)) { if(state.action_id === undefined && state.menu_id) { self.menu.has_been_loaded.then(function() { - self.menu.menu_click(state.menu_id); + self.menu.do_reload().then(function() { + self.menu.menu_click(state.menu_id) + }); }); } else { this.action_manager.do_load_state(state, !!this._current_state); diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js index 8e7b5d4f75d..5a8a2b50722 100644 --- a/addons/web/static/src/js/coresetup.js +++ b/addons/web/static/src/js/coresetup.js @@ -579,6 +579,33 @@ $.async_when = function() { return old_async_when.apply(this, arguments); }; +/** + * Registry for all the client actions key: tag value: widget + */ +instance.web.client_actions = new instance.web.Registry(); + +/** + * Client action to reload the whole interface. + * If params has an entry 'menu_id', it opens the given menu entry. + */ +instance.web.client_actions.add("reload", "instance.web.Reload"); + +instance.web.Reload = instance.web.Widget.extend({ + init: function(parent, params) { + this._super(parent); + this.menu_id = (params && params.menu_id) || false; + }, + start: function() { + if (this.menu_id) { + // open the given menu id + var url_without_fragment = window.location.toString().split("#", 1)[0]; + window.location = url_without_fragment + "#menu_id=" + this.menu_id; + } else { + window.location.reload(); + } + } +}); + }; // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 941c1f8a207..de2ff53a71a 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1261,33 +1261,6 @@ instance.web.str_to_xml = function(s) { return xDoc; } -/** - * Registry for all the client actions key: tag value: widget - */ -instance.web.client_actions = new instance.web.Registry(); - -/** - * Client action to reload the whole interface. - * If params has an entry 'menu_id', it opens the given menu entry. - */ -instance.web.client_actions.add("reload", "instance.web.Reload"); - -instance.web.Reload = instance.web.Widget.extend({ - init: function(parent, params) { - this._super(parent); - this.menu_id = (params && params.menu_id) || false; - }, - start: function() { - if (this.menu_id) { - // open the given menu id - var url_without_fragment = window.location.toString().split("#", 1)[0]; - window.location = url_without_fragment + "#menu_id=" + this.menu_id; - } else { - window.location.reload(); - } - } -}); - /** * Registry for all the main views */ -- cgit v1.2.3