diff options
| author | Christophe Matthieu <chm@openerp.com> | 2013-01-23 11:31:02 +0100 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2013-01-23 11:31:02 +0100 |
| commit | b02c1eb263dadb4d4a4bf20025d0e4e448c73204 (patch) | |
| tree | 210a08421d236a26ea5cf40a18ae97d554d4597d /addons | |
| parent | d345c7b07a0d08bac01d3d5936c1f1d1516f0f46 (diff) | |
[IMP] view: no message alias
bzr revid: chm@openerp.com-20130123103102-81kafjq0l61uq8qx
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/web/static/src/js/view_list.js | 1 | ||||
| -rw-r--r-- | addons/web/static/src/js/views.js | 29 | ||||
| -rw-r--r-- | 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 = $('<p class="oe_view_nocontent_alias"></p>'); + 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('<br/>' + _t("or")); + global = alias_id.global; + } + $alias.append((inc? '<br/>': '') + '<a href="mailto:' + alias_id.email + '">' + alias_id.email + '</a>'); + 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); |
