diff --git a/addons/website_customer/controllers/__init__.py b/addons/website_customer/controllers/__init__.py
index a84d81a791b..f48716d3a69 100644
--- a/addons/website_customer/controllers/__init__.py
+++ b/addons/website_customer/controllers/__init__.py
@@ -1,2 +1,4 @@
# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
import main
diff --git a/addons/website_customer/controllers/main.py b/addons/website_customer/controllers/main.py
index e7a68808a57..5b6aec225f3 100644
--- a/addons/website_customer/controllers/main.py
+++ b/addons/website_customer/controllers/main.py
@@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
import openerp
from openerp import SUPERUSER_ID
from openerp.addons.web import http
@@ -26,10 +28,9 @@ class WebsiteCustomer(http.Controller):
'/customers/tag//country/-/page/',
], type='http', auth="public", website=True)
def customers(self, country_id=0, page=0, country_name='', tag_id=0, **post):
- cr, uid, context = request.cr, request.uid, request.context
- country_obj = request.registry['res.country']
- tag_obj = request.registry['res.partner.tag']
- partner_obj = request.registry['res.partner']
+ Country = request.env['res.country']
+ Tag = request.env['res.partner.tag']
+ Partner = request.env['res.partner']
partner_name = post.get('search', '')
domain = [('website_published', '=', True), ('assigned_partner_id', '!=', False)]
@@ -45,23 +46,20 @@ class WebsiteCustomer(http.Controller):
domain += [('tag_ids', 'in', tag_id)]
# group by country, based on customers found with the search(domain)
- countries = partner_obj.read_group(
- cr, openerp.SUPERUSER_ID, domain, ["id", "country_id"],
- groupby="country_id", orderby="country_id", context=request.context)
- country_count = partner_obj.search(
- cr, openerp.SUPERUSER_ID, domain, count=True, context=request.context)
+ countries = Partner.sudo().read_group(domain, ["id", "country_id"], groupby="country_id", orderby="country_id")
+ country_count = Partner.sudo().search_count(domain)
if country_id:
domain += [('country_id', '=', country_id)]
if not any(x['country_id'][0] == country_id for x in countries if x['country_id']):
- country = country_obj.read(cr, uid, country_id, ['name'], context)
+ country = Country.browse(country_id).read(['name'])
if country:
countries.append({
'country_id_count': 0,
'country_id': (country_id, country['name'])
})
countries.sort(key=lambda d: d['country_id'] and d['country_id'][1])
- curr_country = country_obj.browse(cr, uid, country_id, context)
+ curr_country = Country.browse(country_id)
countries.insert(0, {
'country_id_count': country_count,
@@ -69,7 +67,7 @@ class WebsiteCustomer(http.Controller):
})
# search customers to display
- partner_count = partner_obj.search_count(cr, openerp.SUPERUSER_ID, domain, context=request.context)
+ partner_count = Partner.sudo().search_count(domain)
# pager
url = '/customers'
@@ -80,22 +78,16 @@ class WebsiteCustomer(http.Controller):
scope=7, url_args=post
)
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain,
- offset=pager['offset'], limit=self._references_per_page,
- context=request.context)
- google_map_partner_ids = ','.join(map(str, partner_ids))
- partners = partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids, request.context)
+ partners = Partner.sudo().search(domain, offset=pager['offset'], limit=self._references_per_page)
+ google_map_partner_ids = ','.join(map(str, partners.ids))
- tag_obj = request.registry['res.partner.tag']
- tag_ids = tag_obj.search(cr, uid, [('website_published', '=', True), ('partner_ids', 'in', partner_ids)],
- order='classname, name ASC', context=context)
- tags = tag_obj.browse(cr, uid, tag_ids, context=context)
- tag = tag_id and tag_obj.browse(cr, uid, tag_id, context=context) or False
+ tags = Tag.search([('website_published', '=', True), ('partner_ids', 'in', partners.ids)], order='classname, name ASC')
+ tag = tag_id and Tag.browse(tag_id) or False
values = {
'countries': countries,
'current_country_id': country_id or 0,
- 'current_country': country_id and curr_country or False,
+ 'current_country': curr_country if country_id else False,
'partners': partners,
'google_map_partner_ids': google_map_partner_ids,
'pager': pager,
@@ -111,7 +103,7 @@ class WebsiteCustomer(http.Controller):
def partners_detail(self, partner_id, **post):
_, partner_id = unslug(partner_id)
if partner_id:
- partner = request.registry['res.partner'].browse(request.cr, SUPERUSER_ID, partner_id, context=request.context)
+ partner = request.env['res.partner'].sudo().browse(partner_id)
if partner.exists() and partner.website_published:
values = {}
values['main_object'] = values['partner'] = partner
diff --git a/addons/website_customer/data/res_partner_demo.xml b/addons/website_customer/data/res_partner_demo.xml
index f00c4da6d21..b6430ffba14 100644
--- a/addons/website_customer/data/res_partner_demo.xml
+++ b/addons/website_customer/data/res_partner_demo.xml
@@ -1,5 +1,5 @@
-
+
@@ -118,6 +118,5 @@
-
-
+
diff --git a/addons/website_customer/models/res_partner.py b/addons/website_customer/models/res_partner.py
index 78c5b080cef..680a6c95f2d 100644
--- a/addons/website_customer/models/res_partner.py
+++ b/addons/website_customer/models/res_partner.py
@@ -1,33 +1,29 @@
# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from openerp.osv import osv, fields
+from odoo import api, fields, models
-class res_partner(osv.Model):
+class Partner(models.Model):
+
_inherit = 'res.partner'
- _columns = {
- 'website_tag_ids': fields.many2many('res.partner.tag', id1='partner_id', id2='tag_id', string='Website tags', oldname="tag_ids"),
- }
+ website_tag_ids = fields.Many2many('res.partner.tag', 'res_partner_res_partner_tag_rel', 'partner_id', 'tag_id', string='Website tags')
-class res_partner_tags(osv.Model):
- _description = 'Partner Tags - These tags can be used on website to find customers by sector, or ... '
+class Tags(models.Model):
+
_name = 'res.partner.tag'
+ _description = 'Partner Tags - These tags can be used on website to find customers by sector, or ... '
_inherit = 'website.published.mixin'
- def get_selection_class(self, cr, uid, context=None):
+ @api.model
+ def get_selection_class(self):
classname = ['default', 'primary', 'success', 'warning', 'danger']
return [(x, str.title(x)) for x in classname]
- _columns = {
- 'name': fields.char('Category Name', required=True, translate=True),
- 'partner_ids': fields.many2many('res.partner', 'res_partner_res_partner_tag_rel', id1='tag_id', id2='partner_id', string='Partners'),
- 'classname': fields.selection(get_selection_class, 'Class', help="Bootstrap class to customize the color", required=True),
- 'active': fields.boolean('Active'),
- }
- _defaults = {
- 'active': True,
- 'website_published': True,
- 'classname': 'default',
- }
+ name = fields.Char('Category Name', required=True, translate=True)
+ partner_ids = fields.Many2many('res.partner', 'res_partner_res_partner_tag_rel', 'tag_id', 'partner_id', string='Partners')
+ classname = fields.Selection(get_selection_class, 'Class', default='default', help="Bootstrap class to customize the color", required=True)
+ active = fields.Boolean('Active', default=True)
+ website_published = fields.Boolean(default=True)
diff --git a/addons/website_customer/security/ir_rule.xml b/addons/website_customer/security/ir_rule.xml
index 70ea4dc9a45..b901763eb96 100644
--- a/addons/website_customer/security/ir_rule.xml
+++ b/addons/website_customer/security/ir_rule.xml
@@ -1,6 +1,5 @@
-
-
+
Partner Tag: published only
@@ -9,5 +8,4 @@
-
-
+
diff --git a/addons/website_customer/views/res_partner_views.xml b/addons/website_customer/views/res_partner_views.xml
index 00915f95e41..69c59989879 100644
--- a/addons/website_customer/views/res_partner_views.xml
+++ b/addons/website_customer/views/res_partner_views.xml
@@ -1,6 +1,5 @@
-
-
+
view.res.partner.form.website.tags
res.partner
@@ -66,5 +65,5 @@
parent="sales_team.menu_config_address_book"
groups="base.group_no_one"
/>
-
-
+
+
diff --git a/addons/website_customer/views/website_customer_templates.xml b/addons/website_customer/views/website_customer_templates.xml
index 1a00d4b96b6..1f2e976334d 100644
--- a/addons/website_customer/views/website_customer_templates.xml
+++ b/addons/website_customer/views/website_customer_templates.xml
@@ -1,6 +1,5 @@
-
-
+
-
-
+