[MIG] website_partner: migrated into new api
This commit is contained in:
committed by
Thibault Delavallée
parent
f15bd6ee41
commit
62cd76ed22
@@ -1 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import main
|
||||
@@ -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)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
<record id="base.main_partner" model="res.partner">
|
||||
<field name="website_published">True</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
|
||||
<record id="base.partner_root" model="res.partner">
|
||||
<field name="website_published">True</field>
|
||||
@@ -251,5 +250,4 @@ Best Designers has now emerged serving the Small and Medium Business – SMB’s
|
||||
<record id="base.res_partner_1" model="res.partner">
|
||||
<field name="notify_email">none</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import res_partner
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- Add team_id (SalesTeam) and contextual button on partner form view -->
|
||||
<record id="view_partners_form_website" model="ir.ui.view">
|
||||
@@ -19,6 +18,4 @@
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<odoo>
|
||||
<template id="partner_page" name="Partner Page">
|
||||
<t t-call="website.layout">
|
||||
<div id="wrap">
|
||||
@@ -42,5 +41,4 @@
|
||||
<t t-raw="right_column or ''"/>
|
||||
</div>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user