diff options
| author | Julien De Coster <jdc@odoo.com> | 2014-08-12 14:54:26 +0530 |
|---|---|---|
| committer | Julien De Coster <jdc@odoo.com> | 2014-12-17 17:14:33 +0100 |
| commit | ddac26cdbb3535239f5dbb41f5b464366065f3ba (patch) | |
| tree | b54e4d34060f1c7f80a8c6404f7f4fd56d914e52 /addons/mass_mailing/controllers | |
| parent | 7f97bf4ec07329e58c818632bf23017b390bb099 (diff) | |
[ADD] Add the website_links module.
This module tracks clicks in mass mailing mails and allow the generation of trackable links in a website interface.
Modules modifications
---------------------
Refractoring of the crm_tracking_* classes in a new module.
* Extract the crm_tracking_* from the crm module into a new module "utm"
* Remove the crm_mass_mailing bridge module
* New dependencies of mass_mailing and website_links to utm.
Diffstat (limited to 'addons/mass_mailing/controllers')
| -rw-r--r-- | addons/mass_mailing/controllers/main.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py index 69317cb08c9..05077be0744 100644 --- a/addons/mass_mailing/controllers/main.py +++ b/addons/mass_mailing/controllers/main.py @@ -15,9 +15,10 @@ class MassMailController(http.Controller): response = werkzeug.wrappers.Response() response.mimetype = 'image/gif' response.data = 'R0lGODlhAQABAIAAANvf7wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='.decode('base64') + return response - @http.route(['/mail/mailing/<int:mailing_id>/unsubscribe'], type='http', auth='none') + @http.route('/mail/mailing/<int:mailing_id>/unsubscribe', type='http', auth='none') def mailing(self, mailing_id, email=None, res_id=None, **post): cr, uid, context = request.cr, request.uid, request.context MassMailing = request.registry['mail.mass_mailing'] @@ -42,7 +43,7 @@ class MassMailController(http.Controller): model.write(cr, SUPERUSER_ID, record_ids, {'opt_out': True}, context=context) return 'OK' - @http.route(['/website_mass_mailing/is_subscriber'], type='json', auth="public", website=True) + @http.route('/website_mass_mailing/is_subscriber', type='json', auth="public", website=True) def is_subscriber(self, list_id, **post): cr, uid, context = request.cr, request.uid, request.context Contacts = request.registry['mail.mass_mailing.contact'] @@ -61,7 +62,7 @@ class MassMailController(http.Controller): return {'is_subscriber': is_subscriber, 'email': email} - @http.route(['/website_mass_mailing/subscribe'], type='json', auth="public", website=True) + @http.route('/website_mass_mailing/subscribe', type='json', auth="public", website=True) def subscribe(self, list_id, email, **post): cr, uid, context = request.cr, request.uid, request.context Contacts = request.registry['mail.mass_mailing.contact'] @@ -75,3 +76,9 @@ class MassMailController(http.Controller): # add email to session request.session['mass_mailing_email'] = email return True + + @http.route('/r/<string:code>/m/<int:stat_id>', type='http', auth="none") + def full_url_redirect(self, code, stat_id, **post): + cr, uid, context = request.cr, request.uid, request.context + request.registry['website.links.click'].add_click(cr, uid, code, request.httprequest.remote_addr, request.session['geoip'].get('country_code'), stat_id=stat_id, context=context) + return werkzeug.utils.redirect(request.registry['website.links'].get_url_from_code(cr, uid, code, context=context), 301) |
