From ce584f756af0040df6f4817638d50d1cd9ebfb66 Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Tue, 31 Jan 2017 16:02:14 +0100 Subject: [PATCH] [FIX] website_crm_Partner_assign: avoid open lead in opp form and vice-versa --- .../controllers/main.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/addons/website_crm_partner_assign/controllers/main.py b/addons/website_crm_partner_assign/controllers/main.py index 46267ee55c4..3d71c31b300 100644 --- a/addons/website_crm_partner_assign/controllers/main.py +++ b/addons/website_crm_partner_assign/controllers/main.py @@ -5,6 +5,7 @@ import datetime import werkzeug from collections import OrderedDict +from werkzeug.exceptions import NotFound from odoo import fields from odoo import http @@ -149,16 +150,21 @@ class WebsiteAccount(website_account): }) return request.render("website_crm_partner_assign.portal_my_opportunities", values) - @http.route(['/my/lead/'], type='http', auth="user", website=True) - def portal_my_lead(self, lead=None, **kw): + @http.route(['''/my/lead/'''], type='http', auth="user", website=True) + def portal_my_lead(self, lead, **kw): + if lead.type != 'lead': + raise NotFound() return request.render("website_crm_partner_assign.portal_my_lead", {'lead': lead}) - @http.route(['/my/opportunity/'], type='http', auth="user", website=True) - def portal_my_opportunity(self, lead=None, **kw): + @http.route(['''/my/opportunity/'''], type='http', auth="user", website=True) + def portal_my_opportunity(self, opp, **kw): + if opp.type != 'opportunity': + raise NotFound() + return request.render( "website_crm_partner_assign.portal_my_opportunity", { - 'opportunity': lead, - 'user_activity': lead.activity_ids.filtered(lambda activity: activity.user_id == request.env.user)[:1], + 'opportunity': opp, + 'user_activity': opp.activity_ids.filtered(lambda activity: activity.user_id == request.env.user)[:1], 'stages': request.env['crm.stage'].search([('probability', '!=', '100')], order='sequence desc'), 'activity_types': request.env['mail.activity.type'].sudo().search([]), 'states': request.env['res.country.state'].sudo().search([]),