diff options
| author | Thibault Delavallée <tde@openerp.com> | 2014-05-28 09:59:31 +0200 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2014-05-28 09:59:31 +0200 |
| commit | 02018563b3e9b805eaee5d1d9672e6cc5eb240c4 (patch) | |
| tree | 99de35b9e36730fff73d43037d55d6c9069b9715 /addons/website_mail/controllers | |
| parent | b4adf79ea7335cd504eb7b2e0cbf79dc99c8f92b (diff) | |
[FIX] website_mail: fixed is_follower controller, that could leak data about records.
Added instead a controller to get alias data. This controller is called by the
discussion group snippet to have the info about the alias.
Diffstat (limited to 'addons/website_mail/controllers')
| -rw-r--r-- | addons/website_mail/controllers/main.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py index 49caf20f7ff..8cdb73030a8 100644 --- a/addons/website_mail/controllers/main.py +++ b/addons/website_mail/controllers/main.py @@ -83,6 +83,7 @@ class WebsiteMail(http.Controller): 'is_user': uid != public_id, 'email': email, 'is_follower': False, + 'alias_name': False, } if not obj: @@ -97,8 +98,22 @@ class WebsiteMail(http.Controller): ('res_id', '=', obj_ids[0]), ('partner_id', '=', partner_id.id) ], context=context)) == 1 - if post.get('fields'): - record = obj.read(cr, SUPERUSER_ID, obj_ids[0], fields=post.get('fields'), context=context) - values.update(record) + + 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 |
