From b02c1eb263dadb4d4a4bf20025d0e4e448c73204 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 23 Jan 2013 11:31:02 +0100 Subject: [PATCH] [IMP] view: no message alias bzr revid: chm@openerp.com-20130123103102-81kafjq0l61uq8qx --- addons/web/static/src/js/view_list.js | 1 + addons/web/static/src/js/views.js | 29 ++++++++++++++++++++++- addons/web_kanban/static/src/js/kanban.js | 5 ++-- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index fbbfabcacca..c0231487640 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -850,6 +850,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi this.$el.find('.oe_view_nocontent').click(function() { create_nocontent.openerpBounce(); }); + this.insert_alias(this.$el.find('.oe_view_nocontent')); } }); instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.ListView.List# */{ diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 9fd49367171..8f5eed37521 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -1394,7 +1394,34 @@ instance.web.View = instance.web.Widget.extend({ is_action_enabled: function(action) { var attrs = this.fields_view.arch.attrs; return (action in attrs) ? JSON.parse(attrs[action]) : true; - } + }, + /** + * insert alias into the dom + */ + insert_alias: function ($dom) { + var self = this; + var context = this.options.action.context || {}; + if (context && context.alias) { + new instance.web.Model('mail.alias').call("get_alias", [], {'alias': context.alias}).then(function (alias_ids) { + if (alias_ids.length) { + var $alias = $('

'); + var global = false; + var inc = 0; + _.each(alias_ids, function (alias_id) { + if (alias_id.email.match(/@.+/)) { + if (inc && global != alias_id.global) { + $alias.append('
' + _t("or")); + global = alias_id.global; + } + $alias.append((inc? '
': '') + '' + alias_id.email + ''); + inc++; + } + }) + $dom.append($alias); + } + }); + } + }, }); /** diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 758c4246d87..b1ed4f16973 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -453,6 +453,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } }, no_result: function() { + var self = this; if (this.groups.group_by || !this.options.action || !this.options.action.help) { @@ -460,10 +461,10 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ } this.$el.find('table:first').css("position", "absolute"); $(QWeb.render('KanbanView.nocontent', { content : this.options.action.help})).insertAfter(this.$('table:first')); - var create_nocontent = this.$buttons; this.$el.find('.oe_view_nocontent').click(function() { - create_nocontent.openerpBounce(); + self.$buttons.openerpBounce(); }); + this.insert_alias(this.$el.find('.oe_view_nocontent_content')); }, remove_no_result: function() { this.$el.find('table:first').css("position", false);