diff options
Diffstat (limited to 'addons/website_partner/controllers')
| -rw-r--r-- | addons/website_partner/controllers/__init__.py | 3 | ||||
| -rw-r--r-- | addons/website_partner/controllers/main.py | 24 |
2 files changed, 27 insertions, 0 deletions
diff --git a/addons/website_partner/controllers/__init__.py b/addons/website_partner/controllers/__init__.py new file mode 100644 index 00000000..6920e202 --- /dev/null +++ b/addons/website_partner/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import main
\ No newline at end of file diff --git a/addons/website_partner/controllers/main.py b/addons/website_partner/controllers/main.py new file mode 100644 index 00000000..c8cac98d --- /dev/null +++ b/addons/website_partner/controllers/main.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +from odoo import http +from odoo.addons.http_routing.models.ir_http import unslug +from odoo.http import request + + +class WebsitePartnerPage(http.Controller): + + # Do not use semantic controller due to SUPERUSER_ID + @http.route(['/partners/<partner_id>'], type='http', auth="public", website=True) + def partners_detail(self, partner_id, **post): + _, partner_id = unslug(partner_id) + if partner_id: + partner_sudo = request.env['res.partner'].sudo().browse(partner_id) + is_website_publisher = request.env['res.users'].has_group('website.group_website_publisher') + if partner_sudo.exists() and (partner_sudo.website_published or is_website_publisher): + values = { + 'main_object': partner_sudo, + 'partner': partner_sudo, + 'edit_page': False + } + return request.render("website_partner.partner_page", values) + return request.not_found() |
