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 @@ - - + - - + \ No newline at end of file