[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 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
import re
|
||||||
|
|
||||||
import werkzeug
|
import werkzeug
|
||||||
|
|
||||||
import openerp
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.tools.translate import _
|
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.addons.website_partner.controllers import main as website_partner
|
|
||||||
|
|
||||||
class WebsiteCrmPartnerAssign(http.Controller):
|
class WebsiteCrmPartnerAssign(http.Controller):
|
||||||
_references_per_page = 20
|
_references_per_page = 20
|
||||||
|
@ -106,10 +105,14 @@ class WebsiteCrmPartnerAssign(http.Controller):
|
||||||
return request.website.render("website_crm_partner_assign.index", values)
|
return request.website.render("website_crm_partner_assign.index", values)
|
||||||
|
|
||||||
# Do not use semantic controller due to SUPERUSER_ID
|
# 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)
|
@http.route(['/partners/<partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||||
def partners_ref(self, partner_id, partner_name='', **post):
|
def partners_detail(self, partner_id, partner_name='', **post):
|
||||||
values = website_partner.get_partner_template_value(partner_id)
|
mo = re.search('-([-0-9]+)$', str(partner_id))
|
||||||
if not values:
|
if mo:
|
||||||
return self.partners(**post)
|
partner_id = int(mo.group(1))
|
||||||
values['main_object'] = values['partner']
|
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
||||||
return request.website.render("website_crm_partner_assign.partner", values)
|
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 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
import re
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.web import http
|
from openerp.addons.web import http
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.addons.web.http import request
|
from openerp.addons.web.http import request
|
||||||
from openerp.addons.website_partner.controllers import main as website_partner
|
|
||||||
import werkzeug.urls
|
import werkzeug.urls
|
||||||
|
|
||||||
class WebsiteCustomer(http.Controller):
|
class WebsiteCustomer(http.Controller):
|
||||||
|
@ -80,11 +81,15 @@ class WebsiteCustomer(http.Controller):
|
||||||
}
|
}
|
||||||
return request.website.render("website_customer.index", values)
|
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)
|
# Do not use semantic controller due to SUPERUSER_ID
|
||||||
def customer(self, partner_id, partner_name='', **post):
|
@http.route(['/customers/<partner_id>'], type='http', auth="public", website=True, multilang=True)
|
||||||
values = website_partner.get_partner_template_value(partner_id)
|
def partners_detail(self, partner_id, **post):
|
||||||
if not values:
|
mo = re.search('-([-0-9]+)$', str(partner_id))
|
||||||
return self.customers(**post)
|
if mo:
|
||||||
|
partner_id = int(mo.group(1))
|
||||||
values['main_object'] = values['partner']
|
partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
|
||||||
return request.website.render("website_customer.details", values)
|
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