summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/controllers/main.py
diff options
context:
space:
mode:
authorJulien De Coster <jdc@odoo.com>2014-08-12 14:54:26 +0530
committerJulien De Coster <jdc@odoo.com>2014-12-17 17:14:33 +0100
commitddac26cdbb3535239f5dbb41f5b464366065f3ba (patch)
treeb54e4d34060f1c7f80a8c6404f7f4fd56d914e52 /addons/mass_mailing/controllers/main.py
parent7f97bf4ec07329e58c818632bf23017b390bb099 (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/main.py')
-rw-r--r--addons/mass_mailing/controllers/main.py13
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)