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 @@
-