[IMP] view: no message alias

bzr revid: chm@openerp.com-20130123103102-81kafjq0l61uq8qx
This commit is contained in:
Christophe Matthieu 2013-01-23 11:31:02 +01:00
parent d345c7b07a
commit b02c1eb263
3 changed files with 32 additions and 3 deletions

View File

@ -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# */{

View File

@ -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);
}
});
}
},
});
/**

View File

@ -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);