[FIX] website_partner remove controller, add support for negative ids
This commit is contained in:
parent
cfefd04871
commit
1501c7e64b
|
@ -1,12 +1,11 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
|
||||
import werkzeug
|
||||
|
||||
import openerp
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.addons.web import http
|
||||
from openerp.tools.translate import _
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website_partner.controllers import main as website_partner
|
||||
|
||||
class WebsiteCrmPartnerAssign(http.Controller):
|
||||
_references_per_page = 20
|
||||
|
@ -106,10 +105,14 @@ class WebsiteCrmPartnerAssign(http.Controller):
|
|||
return request.website.render("website_crm_partner_assign.index", values)
|
||||
|
||||
# Do not use semantic controller due to SUPERUSER_ID
|
||||
@http.route(['/partners/<int:partner_id>', '/partners/<partner_name>-<int:partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||
def partners_ref(self, partner_id, partner_name='', **post):
|
||||
values = website_partner.get_partner_template_value(partner_id)
|
||||
if not values:
|
||||
return self.partners(**post)
|
||||
values['main_object'] = values['partner']
|
||||
return request.website.render("website_crm_partner_assign.partner", values)
|
||||
@http.route(['/partners/<partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||
def partners_detail(self, partner_id, partner_name='', **post):
|
||||
mo = re.search('-([-0-9]+)$', str(partner_id))
|
||||
if mo:
|
||||
partner_id = int(mo.group(1))
|
||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
||||
if partner.exists() and partner.website_published:
|
||||
values = {}
|
||||
values['main_object'] = values['partner'] = partner
|
||||
return request.website.render("website_crm_partner_assign.partner", values)
|
||||
return self.partners(**post)
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import re
|
||||
|
||||
import openerp
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.addons.web import http
|
||||
from openerp.tools.translate import _
|
||||
from openerp.addons.web.http import request
|
||||
from openerp.addons.website_partner.controllers import main as website_partner
|
||||
import werkzeug.urls
|
||||
|
||||
class WebsiteCustomer(http.Controller):
|
||||
|
@ -80,11 +81,15 @@ class WebsiteCustomer(http.Controller):
|
|||
}
|
||||
return request.website.render("website_customer.index", values)
|
||||
|
||||
@http.route(['/customers/<int:partner_id>', '/customers/<partner_name>-<int:partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||
def customer(self, partner_id, partner_name='', **post):
|
||||
values = website_partner.get_partner_template_value(partner_id)
|
||||
if not values:
|
||||
return self.customers(**post)
|
||||
|
||||
values['main_object'] = values['partner']
|
||||
return request.website.render("website_customer.details", values)
|
||||
# Do not use semantic controller due to SUPERUSER_ID
|
||||
@http.route(['/customers/<partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||
def partners_detail(self, partner_id, **post):
|
||||
mo = re.search('-([-0-9]+)$', str(partner_id))
|
||||
if mo:
|
||||
partner_id = int(mo.group(1))
|
||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
||||
if partner.exists() and partner.website_published:
|
||||
values = {}
|
||||
values['main_object'] = values['partner'] = partner
|
||||
return request.website.render("website_customer.details", values)
|
||||
return self.customers(**post)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
import main
|
|
@ -1,25 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import werkzeug
|
||||
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.addons.web import http
|
||||
from openerp.addons.web.http import request
|
||||
|
||||
def get_partner_template_value(partner_id):
|
||||
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
||||
if not partner.exists() or not partner.website_published:
|
||||
return None
|
||||
return {
|
||||
'partner': partner,
|
||||
}
|
||||
|
||||
class WebsitePartner(http.Controller):
|
||||
@http.route(['/partners/<int:partner_id>', '/partners/<partner_name>-<int:partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||
def partner(self, partner_id, partner_name='', **post):
|
||||
""" Route for displaying a single partner / customer. """
|
||||
values = get_partner_template_value(partner_id)
|
||||
if not values:
|
||||
raise werkzeug.exceptions.NotFound()
|
||||
|
||||
return request.website.render("website_partner.partner_page", values)
|
Loading…
Reference in New Issue