diff --git a/addons/website_crm_score/controllers/main.py b/addons/website_crm_score/controllers/main.py index cc95bec8685..bbb2c6a7c16 100644 --- a/addons/website_crm_score/controllers/main.py +++ b/addons/website_crm_score/controllers/main.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from openerp import addons, http, SUPERUSER_ID, fields from openerp.http import request +from openerp.tools import html_escape class PageController(addons.website.controllers.main.Website): @@ -68,7 +69,6 @@ class ContactController(addons.website_crm.controllers.main.contactus): ('stage_id.probability', '!=', 0), ('stage_id.probability', '!=', 100) ] - domain.extend(['|', ('stage_id.on_change', '=', False), '&', ('stage_id.probability', '!=', 0), ('stage_id.probability', '!=', 100)]) lead_instance = lead_model.search(cr, SUPERUSER_ID, domain, context=context) if lead_instance: @@ -87,7 +87,7 @@ class ContactController(addons.website_crm.controllers.main.contactus): if changed_values: body = 'Other value given for field ' for fieldname in changed_values.keys(): - body += '
' + fieldname + ': ' + changed_values[fieldname] + '' + body += '
%s: %s' % (fieldname, html_escape(changed_values[fieldname])) request.registry['crm.lead'].message_post(cr, SUPERUSER_ID, [lead_id], body=body, subject="Field value changed", context=context) else: @@ -110,7 +110,8 @@ class ContactController(addons.website_crm.controllers.main.contactus): values['score_pageview_ids'] = score_pageview_ids urls = [] for url in url_list: - urls.append('' + url + '') + url_encoded = html_escape(url) + urls.append('%s' % (url_encoded, url_encoded)) body = '
'.join(urls) new_lead_id = self.create_real_lead(request, values, kwargs) diff --git a/addons/website_crm_score/models/pageview.py b/addons/website_crm_score/models/pageview.py index b6ff22ce2da..1aceaa7da96 100644 --- a/addons/website_crm_score/models/pageview.py +++ b/addons/website_crm_score/models/pageview.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from openerp import fields, models, SUPERUSER_ID, tools, api from psycopg2 import IntegrityError +from openerp.tools import html_escape class pageview(models.Model): @@ -14,9 +15,9 @@ class pageview(models.Model): @api.model def create_pageview(self, vals, test=False): # returns True if the operation in the db was successful, False otherwise - lead_id = vals.get('lead_id') - user_id = vals.get('user_id') - url = vals.get('url') + lead_id = vals.get('lead_id', 0) + user_id = vals.get('user_id', 0) + url = vals.get('url', '') view_date = fields.Datetime.now() with self.pool.cursor() as pv_cr: @@ -40,7 +41,8 @@ class pageview(models.Model): fetch = pv_cr.fetchone() if fetch: # a new pageview has been created, a message is posted - body = '' + url + '' + url = html_escape(url) + body = '%s' % (url, url) ctx = dict(self._context, mail_notify_noemail=True) self.pool['crm.lead'].message_post(self._cr, SUPERUSER_ID, [lead_id], body=body, subject="Page visited", context=ctx) return True diff --git a/addons/website_crm_score/views/sales.xml b/addons/website_crm_score/views/sales.xml index 97642a192ca..46e8099e460 100644 --- a/addons/website_crm_score/views/sales.xml +++ b/addons/website_crm_score/views/sales.xml @@ -107,6 +107,9 @@ + + + @@ -126,7 +129,6 @@ -