diff --git a/addons/website_partner/controllers/__init__.py b/addons/website_partner/controllers/__init__.py
index 039d9715fab..a77b4fb037e 100644
--- a/addons/website_partner/controllers/__init__.py
+++ b/addons/website_partner/controllers/__init__.py
@@ -1 +1,3 @@
+# -*- coding: utf-8 -*-
+
import main
\ No newline at end of file
diff --git a/addons/website_partner/controllers/main.py b/addons/website_partner/controllers/main.py
index 41f085bd4aa..00af6a7bdf8 100644
--- a/addons/website_partner/controllers/main.py
+++ b/addons/website_partner/controllers/main.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
-from openerp import SUPERUSER_ID
-from openerp.addons.web import http
-from openerp.addons.web.http import request
-from openerp.addons.website.models.website import unslug
+
+from odoo import http
+from odoo.http import request
+from odoo.addons.website.models.website import unslug
class WebsitePartnerPage(http.Controller):
@@ -12,12 +12,12 @@ class WebsitePartnerPage(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)
- is_website_publisher = request.registry['res.users'].has_group(request.cr, request.uid, 'base.group_website_publisher')
- if partner.exists() and (partner.website_published or is_website_publisher):
+ partner_sudo = request.env['res.partner'].sudo().browse(partner_id)
+ is_website_publisher = request.env['res.users'].has_group('base.group_website_publisher')
+ if partner_sudo.exists() and (partner_sudo.website_published or is_website_publisher):
values = {
- 'main_object': partner,
- 'partner': partner,
+ 'main_object': partner_sudo,
+ 'partner': partner_sudo,
'edit_page': False
}
return request.website.render("website_partner.partner_page", values)
diff --git a/addons/website_partner/data/website_partner_data.xml b/addons/website_partner/data/website_partner_data.xml
index 0aebb741fe6..bec5e145e0b 100644
--- a/addons/website_partner/data/website_partner_data.xml
+++ b/addons/website_partner/data/website_partner_data.xml
@@ -1,8 +1,6 @@
-
-
+
True
-
-
+
\ No newline at end of file
diff --git a/addons/website_partner/data/website_partner_demo.xml b/addons/website_partner/data/website_partner_demo.xml
index 6bc4d075685..aaba2d4ddf0 100644
--- a/addons/website_partner/data/website_partner_demo.xml
+++ b/addons/website_partner/data/website_partner_demo.xml
@@ -1,6 +1,5 @@
-
-
+
True
@@ -251,5 +250,4 @@ Best Designers has now emerged serving the Small and Medium Business – SMB’s
none
-
-
+
diff --git a/addons/website_partner/models/__init__.py b/addons/website_partner/models/__init__.py
index 4e5bc1614d1..acd005f7eaa 100644
--- a/addons/website_partner/models/__init__.py
+++ b/addons/website_partner/models/__init__.py
@@ -1 +1,3 @@
+# -*- coding: utf-8 -*-
+
import res_partner
diff --git a/addons/website_partner/models/res_partner.py b/addons/website_partner/models/res_partner.py
index 686826b024c..d7959f26d7a 100644
--- a/addons/website_partner/models/res_partner.py
+++ b/addons/website_partner/models/res_partner.py
@@ -1,46 +1,39 @@
# -*- coding: utf-8 -*-
-from openerp.osv import osv, fields
-from openerp.addons.website.models.website import slug
+from odoo import api, fields, models
+from odoo.addons.website.models.website import slug
-class WebsiteResPartner(osv.Model):
+class WebsiteResPartner(models.Model):
_name = 'res.partner'
_inherit = ['res.partner', 'website.seo.metadata', 'website.published.mixin']
- def _get_ids(self, cr, uid, ids, flds, args, context=None):
- return {i: i for i in ids}
+ website_private = fields.Boolean(string='Private Profile', compute='_compute_private',
+ inverse='_set_private', search='_search_private')
+ website_description = fields.Html('Website Partner Full Description', strip_style=True)
+ website_short_description = fields.Text('Website Partner Short Description')
+ # hack to allow using plain browse record in qweb views
+ self = fields.Many2one(comodel_name=_name, compute='_compute_get_ids')
- def _set_private(self, cr, uid, ids, field_name, value, arg, context=None):
- return self.write(cr, uid, ids, {'website_published': not value}, context=context)
+ @api.one
+ def _compute_get_ids(self):
+ self.self = self.id
- def _get_private(self, cr, uid, ids, field_name, arg, context=None):
- return dict((rec.id, not rec.website_published) for rec in self.browse(cr, uid, ids, context=context))
+ @api.multi
+ def _compute_private(self):
+ for partner in self:
+ partner.website_private = not partner.website_published
- def _search_private(self, cr, uid, obj, name, args, context=None):
- return [('website_published', '=', not args[0][2])]
+ def _set_private(self):
+ for partner in self:
+ partner.website_published = not partner.website_private
- _columns = {
- 'website_private': fields.function(
- _get_private, fnct_inv=_set_private, fnct_search=_search_private,
- type='boolean', string='Private Profile'),
- 'website_description': fields.html(
- 'Website Partner Full Description',
- strip_style=True
- ),
- 'website_short_description': fields.text(
- 'Website Partner Short Description'
- ),
- # hack to allow using plain browse record in qweb views
- 'self': fields.function(_get_ids, type='many2one', relation=_name),
- }
+ def _search_private(self, operator, value):
+ return [('website_published', '=', not value)]
- def _website_url(self, cr, uid, ids, field_name, arg, context=None):
- res = super(WebsiteResPartner, self)._website_url(cr, uid, ids, field_name, arg, context=context)
- for partner in self.browse(cr, uid, ids, context=context):
+ @api.multi
+ def _website_url(self, field_name, arg):
+ res = super(WebsiteResPartner, self)._website_url(field_name, arg)
+ for partner in self:
res[partner.id] = "/partners/%s" % slug(partner)
return res
-
- _defaults = {
- 'website_private': True,
- }
diff --git a/addons/website_partner/views/res_partner_views.xml b/addons/website_partner/views/res_partner_views.xml
index b6dd53b0d68..ab543682fb2 100644
--- a/addons/website_partner/views/res_partner_views.xml
+++ b/addons/website_partner/views/res_partner_views.xml
@@ -1,6 +1,5 @@
-
-
-
+
+
@@ -19,6 +18,4 @@
-
-
-
\ No newline at end of file
+
diff --git a/addons/website_partner/views/website_partner_templates.xml b/addons/website_partner/views/website_partner_templates.xml
index 3ddd0c6b32d..0bcdc93396d 100644
--- a/addons/website_partner/views/website_partner_templates.xml
+++ b/addons/website_partner/views/website_partner_templates.xml
@@ -1,6 +1,5 @@
-
-
+
@@ -42,5 +41,4 @@
-
-
+
\ No newline at end of file