diff options
| author | Jeremy Kersten <jke@odoo.com> | 2017-01-31 16:02:14 +0100 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2017-02-01 09:05:45 +0100 |
| commit | ce584f756af0040df6f4817638d50d1cd9ebfb66 (patch) | |
| tree | 99f8f7fd8b53609cd5ece4236a8bafa23c7fcb3a /addons/website_crm_partner_assign/controllers/main.py | |
| parent | 3d0cc2d6d2dbd567cfaa93de4cb90787d0c07c9e (diff) | |
[FIX] website_crm_Partner_assign: avoid open lead in opp form and vice-versa
Diffstat (limited to 'addons/website_crm_partner_assign/controllers/main.py')
| -rw-r--r-- | addons/website_crm_partner_assign/controllers/main.py | 18 |
1 files 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/<model("crm.lead"):lead>'], type='http', auth="user", website=True) - def portal_my_lead(self, lead=None, **kw): + @http.route(['''/my/lead/<model('crm.lead', "[('type','=', 'lead')]"):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/<model("crm.lead"):lead>'], type='http', auth="user", website=True) - def portal_my_opportunity(self, lead=None, **kw): + @http.route(['''/my/opportunity/<model('crm.lead', "[('type','=', 'opportunity')]"):opp>'''], 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([]), |
