From a0ebd2c88e3fbf474ee6a0b0f4721e06febedd15 Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Wed, 23 Jul 2014 11:15:07 +0200 Subject: [PATCH] [IMP] website_crm: allow creation of the lead to be overrided. That avoid people to rewrite all the routine of the form if they want to change the default behavior at lead creation when form is submitted. --- addons/website_crm/controllers/main.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/website_crm/controllers/main.py b/addons/website_crm/controllers/main.py index 2331225919c..c97dcd97c5a 100644 --- a/addons/website_crm/controllers/main.py +++ b/addons/website_crm/controllers/main.py @@ -26,6 +26,10 @@ class contactus(http.Controller): values.update(kwargs=kwargs.items()) return request.website.render("website.contactus", values) + def create_lead(self, request, values): + """ Allow to be overrided """ + return request.registry['crm.lead'].create(request.cr, SUPERUSER_ID, values, request.context) + @http.route(['/crm/contactus'], type='http', auth="public", website=True, multilang=True) def contactus(self, **kwargs): def dict_to_str(title, dictvar): @@ -42,12 +46,10 @@ class contactus(http.Controller): post_description = [] # Info to add after the message values = {'user_id': False} - lead_model = request.registry['crm.lead'] - for field_name, field_value in kwargs.items(): if hasattr(field_value, 'filename'): post_file.append(field_value) - elif field_name in lead_model._all_columns and field_name not in _BLACKLIST: + elif field_name in request.registry['crm.lead']._all_columns and field_name not in _BLACKLIST: values[field_name] = field_value elif field_name not in _TECHNICAL: # allow to add some free fields or blacklisted field like ID post_description.append("%s: %s" % (field_name, field_value)) @@ -81,7 +83,7 @@ class contactus(http.Controller): post_description.append("%s: %s" % ("REFERER", environ.get("HTTP_REFERER"))) values['description'] += dict_to_str(_("Environ Fields: "), post_description) - lead_id = lead_model.create(request.cr, SUPERUSER_ID, values, request.context) + lead_id = self.create_lead(request, values) if lead_id: for field_value in post_file: attachment_value = {