diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py index 8cdb73030a8..081ba93b8b4 100644 --- a/addons/website_mail/controllers/main.py +++ b/addons/website_mail/controllers/main.py @@ -100,20 +100,3 @@ class WebsiteMail(http.Controller): ], context=context)) == 1 return values - - @http.route(['/website_mail/get_alias_info'], type='json', auth='public', website=True) - def get_alias_info(self, model, id, **post): - id = int(id) - cr, uid, context = request.cr, request.uid, request.context - obj = request.registry.get(model) - - values = {'alias_name': False} - - if not obj: - return values - obj_ids = obj.exists(cr, SUPERUSER_ID, [id], context=context) - if obj_ids and 'alias_id' in obj._all_columns: - alias_id = obj.browse(cr, SUPERUSER_ID, obj_ids[0], context=context).alias_id - values['alias_name'] = alias_id and alias_id.alias_domain and '%s@%s' % (alias_id.alias_name, alias_id.alias_domain) or False - - return values diff --git a/addons/website_mail/views/snippets.xml b/addons/website_mail/views/snippets.xml index 8a737b98927..ebbcf6d4a70 100644 --- a/addons/website_mail/views/snippets.xml +++ b/addons/website_mail/views/snippets.xml @@ -493,53 +493,5 @@ - - - - - - - - Discussion Group - - - - - - - Subscribe - - - - send mail - - archives - - unsubscribe - - - - - - - - - - - Change Discussion List - - - - - - diff --git a/addons/website_mail/views/website_mail.xml b/addons/website_mail/views/website_mail.xml index 2882125de67..6202e00342b 100644 --- a/addons/website_mail/views/website_mail.xml +++ b/addons/website_mail/views/website_mail.xml @@ -21,8 +21,6 @@ - - diff --git a/addons/website_mail_group/__openerp__.py b/addons/website_mail_group/__openerp__.py index f83fc38ce7c..768e7f27156 100644 --- a/addons/website_mail_group/__openerp__.py +++ b/addons/website_mail_group/__openerp__.py @@ -11,7 +11,8 @@ OpenERP Mail Group : Mailing List Archives 'author': 'OpenERP SA', 'depends': ['website_mail'], 'data': [ - 'views/website_mail_group.xml' + 'views/website_mail_group.xml', + 'views/snippets.xml', ], 'qweb': [], 'installable': True, diff --git a/addons/website_mail_group/controllers/main.py b/addons/website_mail_group/controllers/main.py index 7320ebc6548..a28b808d9f2 100644 --- a/addons/website_mail_group/controllers/main.py +++ b/addons/website_mail_group/controllers/main.py @@ -129,3 +129,9 @@ class MailGroup(http.Controller): 'replies_per_page': self._replies_per_page, } return request.registry['ir.ui.view'].render(request.cr, request.uid, 'website_mail_group.messages_short', values, engine='ir.qweb', context=request.context) + + @http.route("/groups//get_alias_info", type='json', auth='public', website=True) + def get_alias_info(self, group, **post): + return { + 'alias_name': group.alias_id and group.alias_id.alias_name and group.alias_id.alias_domain and '%s@%s' % (group.alias_id.alias_name, group.alias_id.alias_domain) or False + } diff --git a/addons/website_mail/static/src/js/website_mail.editor.js b/addons/website_mail_group/static/src/js/website_mail_group.editor.js similarity index 100% rename from addons/website_mail/static/src/js/website_mail.editor.js rename to addons/website_mail_group/static/src/js/website_mail_group.editor.js diff --git a/addons/website_mail/static/src/js/website_mail.js b/addons/website_mail_group/static/src/js/website_mail_group.snippet.js similarity index 84% rename from addons/website_mail/static/src/js/website_mail.js rename to addons/website_mail_group/static/src/js/website_mail_group.snippet.js index 2a79bccccc5..fc0e2bb864f 100644 --- a/addons/website_mail/static/src/js/website_mail.js +++ b/addons/website_mail_group/static/src/js/website_mail_group.snippet.js @@ -33,6 +33,7 @@ return; }, on_click: function () { + event.preventDefault(); var self = this; var $email = this.$target.find(".js_follow_email"); @@ -69,11 +70,17 @@ }, get_alias_info: function() { var self = this; - return openerp.jsonRpc('/website_mail/get_alias_info', 'call', { - model: this.$target.data('object'), - id: this.$target.data('id'), - }).then(function (data) { - self.$target.find('.js_mg_email').attr('href', 'mailto:' + data.alias_name); + if (! this.$target.data('id')) { + return $.Deferred().resolve(); + } + return openerp.jsonRpc('/groups/' + this.$target.data('id') + '/get_alias_info', 'call', {}).then(function (data) { + if (data.alias_name) { + self.$target.find('.js_mg_email').attr('href', 'mailto:' + data.alias_name); + self.$target.find('.js_mg_email').removeClass('hidden'); + } + else { + self.$target.find('.js_mg_email').addClass('hidden'); + } }); } }); diff --git a/addons/website_mail_group/views/snippets.xml b/addons/website_mail_group/views/snippets.xml new file mode 100644 index 00000000000..56ba81d81b3 --- /dev/null +++ b/addons/website_mail_group/views/snippets.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + Discussion Group + + + + + + + Subscribe + + + + send mail - + archives - + unsubscribe + + + + + + + + + + + Change Discussion List + + + + + + + + \ No newline at end of file diff --git a/addons/website_mail_group/views/website_mail_group.xml b/addons/website_mail_group/views/website_mail_group.xml index 76edd524753..1c0ee08edd4 100644 --- a/addons/website_mail_group/views/website_mail_group.xml +++ b/addons/website_mail_group/views/website_mail_group.xml @@ -8,6 +8,13 @@ + + + + + + + @@ -23,8 +30,10 @@ - - + + + + @@ -59,7 +68,7 @@ mailing list archives - + @@ -123,7 +132,7 @@ mailing list archives - +
- send mail - - archives - - unsubscribe -
+ send mail - + archives - + unsubscribe +