diff --git a/website_snippet_contact_form/__init__.py b/website_snippet_contact_form/__init__.py index 35233d377a..8c28409d83 100644 --- a/website_snippet_contact_form/__init__.py +++ b/website_snippet_contact_form/__init__.py @@ -3,3 +3,4 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import controllers +from . import models diff --git a/website_snippet_contact_form/__openerp__.py b/website_snippet_contact_form/__openerp__.py index 7b02a2e2ad..c15efca717 100644 --- a/website_snippet_contact_form/__openerp__.py +++ b/website_snippet_contact_form/__openerp__.py @@ -12,6 +12,7 @@ "application": False, "installable": True, "depends": [ + "base", "crm", "website_sale", ], @@ -19,5 +20,6 @@ "views/snippets.xml", "views/assets.xml", "views/pages.xml", + "views/contact_form_crm.xml", ], } diff --git a/website_snippet_contact_form/controllers/main.py b/website_snippet_contact_form/controllers/main.py index 31897e4adb..c030712ea9 100644 --- a/website_snippet_contact_form/controllers/main.py +++ b/website_snippet_contact_form/controllers/main.py @@ -49,13 +49,27 @@ def preRenderThanks(self, values, kwargs): def get_contactus_response(self, values, kwargs): values = self.preRenderThanks(values, kwargs) - return request.website.render( - kwargs.get( - "view_callback", - "website_snippet_contact_form.contactus_thanks" - ), values + type_form = request.env['contact.form'].sudo().search( + [], + order="create_date DESC", + limit=1, ) + if type_form.custom_form == True: + return request.website.render( + kwargs.get( + "view_callback", + "website_snippet_contact_form.custom_form_page" + ), values + ) + else: + return request.website.render( + kwargs.get( + "view_callback", + "website_snippet_contact_form.contactus_thanks" + ), values + ) + @http.route(['/crm/contactus'], type='http', auth="public", website=True) def contactus(self, **kwargs): def dict_to_str(title, dictvar): diff --git a/website_snippet_contact_form/models/__init__.py b/website_snippet_contact_form/models/__init__.py new file mode 100644 index 0000000000..9a0bf684a2 --- /dev/null +++ b/website_snippet_contact_form/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import contact_form_crm diff --git a/website_snippet_contact_form/models/contact_form_crm.py b/website_snippet_contact_form/models/contact_form_crm.py new file mode 100644 index 0000000000..9207b5cd59 --- /dev/null +++ b/website_snippet_contact_form/models/contact_form_crm.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + +from openerp import fields, models + + +class ContactForm(models.Model): + _name = "contact.form" + _inherit = 'res.config.settings' + + custom_form = fields.Boolean( + string="Use custom form", + help="Empty page", + ) diff --git a/website_snippet_contact_form/views/contact_form_crm.xml b/website_snippet_contact_form/views/contact_form_crm.xml new file mode 100644 index 0000000000..dceda5f744 --- /dev/null +++ b/website_snippet_contact_form/views/contact_form_crm.xml @@ -0,0 +1,40 @@ + + + + + + Configure Contact Form + contact.form + +
+
+
+ + + + +
+
+ + + Contact Form + contact.form + form + inline + + + + +
+
diff --git a/website_snippet_contact_form/views/pages.xml b/website_snippet_contact_form/views/pages.xml index 6235bc49da..7f56d66373 100644 --- a/website_snippet_contact_form/views/pages.xml +++ b/website_snippet_contact_form/views/pages.xml @@ -35,6 +35,14 @@ + +