[IMP] website_crm: allow creation of the lead to be overrided. That avoid people...
authorJeremy Kersten <jke@odoo.com>
Wed, 23 Jul 2014 09:15:07 +0000 (11:15 +0200)
committerJeremy Kersten <jke@odoo.com>
Wed, 23 Jul 2014 09:15:07 +0000 (11:15 +0200)
addons/website_crm/controllers/main.py

index 2331225..c97dcd9 100644 (file)
@@ -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 = {