summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJérome Maes <jem@openerp.com>2016-08-04 09:17:35 +0200
committerJérome Maes <jem@openerp.com>2016-08-04 12:02:14 +0200
commit9f6ecb239ef82e34dc774e20a1c38ae290e862a9 (patch)
tree855eaecd37330cc10cc466af517695630e388e69
parent8a399930f316fc4d65828441d86301d4a8dfa669 (diff)
[REF] website_*: clean method to override when using
-rw-r--r--addons/website/models/website.py13
-rw-r--r--addons/website_blog/models/website_blog.py12
-rw-r--r--addons/website_crm_partner_assign/models/res_partner.py7
-rw-r--r--addons/website_event/models/event.py8
-rw-r--r--addons/website_event_track/models/website_event_track.py8
-rw-r--r--addons/website_hr/models/hr_employee.py8
-rw-r--r--addons/website_hr_recruitment/models/hr_recruitment.py7
-rw-r--r--addons/website_livechat/models/im_livechat.py12
-rw-r--r--addons/website_partner/models/res_partner.py7
-rw-r--r--addons/website_rating_project_issue/models/project.py7
-rw-r--r--addons/website_sale/models/product.py7
-rw-r--r--addons/website_slides/models/slides.py27
12 files changed, 56 insertions, 67 deletions
diff --git a/addons/website/models/website.py b/addons/website/models/website.py
index 9bdf78f8b7f..a9837bf4e20 100644
--- a/addons/website/models/website.py
+++ b/addons/website/models/website.py
@@ -676,17 +676,12 @@ class WebsitePublishedMixin(models.AbstractModel):
_name = "website.published.mixin"
website_published = fields.Boolean('Visible in Website', copy=False)
- website_url = fields.Char('Website URL', compute='_website_url_proxy', help='The full URL to access the document through the website.')
-
- # TODO remove proxy and _website_url unused arguments
- def _website_url_proxy(self):
- result = self._website_url(False, False)
- for website in self:
- website.website_url = result.get(website.id)
+ website_url = fields.Char('Website URL', compute='_compute_website_url', help='The full URL to access the document through the website.')
@api.multi
- def _website_url(self, field_name, arg):
- return dict.fromkeys(self.ids, '#')
+ def _compute_website_url(self):
+ for record in self:
+ record.website_url = '#'
@api.multi
def website_publish_button(self):
diff --git a/addons/website_blog/models/website_blog.py b/addons/website_blog/models/website_blog.py
index 1634e50f881..c4e0380a12e 100644
--- a/addons/website_blog/models/website_blog.py
+++ b/addons/website_blog/models/website_blog.py
@@ -11,6 +11,8 @@ from openerp.osv import osv, fields
from openerp.tools.translate import _
from openerp.tools.translate import html_translate
+from odoo import api
+
class Blog(osv.Model):
_name = 'blog.blog'
@@ -87,11 +89,11 @@ class BlogPost(osv.Model):
_order = 'id DESC'
_mail_post_access = 'read'
- def _website_url(self, cr, uid, ids, field_name, arg, context=None):
- res = super(BlogPost, self)._website_url(cr, uid, ids, field_name, arg, context=context)
- for blog_post in self.browse(cr, uid, ids, context=context):
- res[blog_post.id] = "/blog/%s/post/%s" % (slug(blog_post.blog_id), slug(blog_post))
- return res
+ @api.multi
+ def _compute_website_url(self):
+ super(BlogPost, self)._compute_website_url()
+ for blog_post in self:
+ blog_post.website_url = "/blog/%s/post/%s" % (slug(blog_post.blog_id), slug(blog_post))
def _compute_ranking(self, cr, uid, ids, name, arg, context=None):
res = {}
diff --git a/addons/website_crm_partner_assign/models/res_partner.py b/addons/website_crm_partner_assign/models/res_partner.py
index 9e2968eb10d..7545b621027 100644
--- a/addons/website_crm_partner_assign/models/res_partner.py
+++ b/addons/website_crm_partner_assign/models/res_partner.py
@@ -17,11 +17,10 @@ class ResPartnerGrade(models.Model):
help="Gives the probability to assign a lead to this partner. (0 means no assignation.)")
@api.multi
- def _website_url(self, field_name, arg):
- res = super(ResPartnerGrade, self)._website_url(field_name, arg)
+ def _compute_website_url(self):
+ super(ResPartnerGrade, self)._compute_website_url()
for grade in self:
- res[grade.id] = "/partners/grade/%s" % (slug(grade))
- return res
+ grade.website_url = "/partners/grade/%s" % (slug(grade))
class ResPartnerActivation(models.Model):
diff --git a/addons/website_event/models/event.py b/addons/website_event/models/event.py
index 8825ec3ae48..82cc834f1eb 100644
--- a/addons/website_event/models/event.py
+++ b/addons/website_event/models/event.py
@@ -41,10 +41,10 @@ class Event(models.Model):
@api.multi
@api.depends('name')
- def _website_url(self, name, arg):
- res = super(Event, self)._website_url(name, arg)
- res.update({(event.id, '/event/%s' % slug(event)) for event in self})
- return res
+ def _compute_website_url(self):
+ super(Event, self)._compute_website_url()
+ for event in self:
+ event.website_url = '/event/%s' % slug(event)
@api.multi
def _get_new_menu_pages(self):
diff --git a/addons/website_event_track/models/website_event_track.py b/addons/website_event_track/models/website_event_track.py
index 84d394d2019..7f98f372e45 100644
--- a/addons/website_event_track/models/website_event_track.py
+++ b/addons/website_event_track/models/website_event_track.py
@@ -82,10 +82,10 @@ class Track(models.Model):
@api.multi
@api.depends('name')
- def _website_url(self, field_name, arg):
- res = super(Track, self)._website_url(field_name, arg)
- res.update({(track.id, '/event/%s/track/%s' % (slug(track.event_id), slug(track))) for track in self})
- return res
+ def _compute_website_url(self):
+ super(Track, self)._compute_website_url()
+ for track in self:
+ track.website_url = '/event/%s/track/%s' % (slug(track.event_id), slug(track))
@api.model
def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
diff --git a/addons/website_hr/models/hr_employee.py b/addons/website_hr/models/hr_employee.py
index 1cc9f3da4b4..8d8304ad525 100644
--- a/addons/website_hr/models/hr_employee.py
+++ b/addons/website_hr/models/hr_employee.py
@@ -10,7 +10,7 @@ class HrEmployee(models.Model):
public_info = fields.Char(string='Public Info')
@api.multi
- def _website_url(self, field_name, arg):
- res = super(HrEmployee, self)._website_url(field_name, arg)
- res.update({(employee_id, '/page/website.aboutus#team') for employee_id in self.ids})
- return res
+ def _compute_website_url(self):
+ super(HrEmployee, self)._compute_website_url()
+ for employee in self:
+ employee.website_url = '/page/website.aboutus#team'
diff --git a/addons/website_hr_recruitment/models/hr_recruitment.py b/addons/website_hr_recruitment/models/hr_recruitment.py
index 92184ebb17a..221c714c988 100644
--- a/addons/website_hr_recruitment/models/hr_recruitment.py
+++ b/addons/website_hr_recruitment/models/hr_recruitment.py
@@ -46,11 +46,10 @@ class Job(models.Model):
website_description = fields.Html('Website description', translate=html_translate, sanitize=False)
@api.multi
- def _website_url(self, field_name, arg):
- result = super(Job, self)._website_url(field_name, arg)
+ def _compute_website_url(self):
+ super(Job, self)._compute_website_url()
for job in self:
- result[job.id] = "/jobs/detail/%s" % job.id
- return result
+ job.website_url = "/jobs/detail/%s" % job.id
@api.multi
def set_open(self):
diff --git a/addons/website_livechat/models/im_livechat.py b/addons/website_livechat/models/im_livechat.py
index 5cc7296e0a9..517cd0b544f 100644
--- a/addons/website_livechat/models/im_livechat.py
+++ b/addons/website_livechat/models/im_livechat.py
@@ -9,12 +9,10 @@ class ImLivechatChannel(models.Model):
_name = 'im_livechat.channel'
_inherit = ['im_livechat.channel', 'website.published.mixin']
- @api.v7
- # TODO : when mixin in new api.v8, change this !
- def _website_url(self, cr, uid, ids, field_name, arg, context=None):
- res = super(ImLivechatChannel, self)._website_url(cr, uid, ids, field_name, arg, context=context)
- for channel in self.browse(cr, uid, ids, context=context):
- res[channel.id] = "/livechat/channel/%s" % (slug(channel),)
- return res
+ @api.multi
+ def _compute_website_url(self):
+ super(ImLivechatChannel, self)._compute_website_url()
+ for channel in self:
+ channel.website_url = "/livechat/channel/%s" % (slug(channel),)
website_description = fields.Html("Website description", default=False, help="Description of the channel displayed on the website page", sanitize=False, translate=html_translate)
diff --git a/addons/website_partner/models/res_partner.py b/addons/website_partner/models/res_partner.py
index 21bdedc9bed..0c2b23dc971 100644
--- a/addons/website_partner/models/res_partner.py
+++ b/addons/website_partner/models/res_partner.py
@@ -18,8 +18,7 @@ class WebsiteResPartner(models.Model):
self.self = self.id
@api.multi
- def _website_url(self, field_name, arg):
- res = super(WebsiteResPartner, self)._website_url(field_name, arg)
+ def _compute_website_url(self):
+ super(WebsiteResPartner, self)._compute_website_url()
for partner in self:
- res[partner.id] = "/partners/%s" % slug(partner)
- return res
+ partner.website_url = "/partners/%s" % slug(partner)
diff --git a/addons/website_rating_project_issue/models/project.py b/addons/website_rating_project_issue/models/project.py
index fe4d4f7abf6..41d181b7cd0 100644
--- a/addons/website_rating_project_issue/models/project.py
+++ b/addons/website_rating_project_issue/models/project.py
@@ -19,8 +19,7 @@ class Project(models.Model):
}
@api.multi
- def _website_url(self, field_name, arg):
- res = dict()
+ def _compute_website_url(self):
+ super(Project, self)._compute_website_url()
for project in self:
- res[project.id] = "/project/rating/%s" % project.id
- return res
+ project.website_url = "/project/rating/%s" % project.id
diff --git a/addons/website_sale/models/product.py b/addons/website_sale/models/product.py
index 7241e274d6d..ec04782e0b7 100644
--- a/addons/website_sale/models/product.py
+++ b/addons/website_sale/models/product.py
@@ -127,11 +127,10 @@ class ProductTemplate(models.Model):
return self.set_sequence_bottom()
@api.multi
- def _website_url(self, field_name, arg):
- res = super(ProductTemplate, self)._website_url(field_name, arg)
+ def _compute_website_url(self):
+ super(ProductTemplate, self)._compute_website_url()
for product in self:
- res[product.id] = "/shop/product/%s" % (product.id,)
- return res
+ product.website_url = "/shop/product/%s" % (product.id,)
@api.multi
def display_price(self, pricelist, qty=1, public=False, **kw):
diff --git a/addons/website_slides/models/slides.py b/addons/website_slides/models/slides.py
index 82a582572d9..543a7bffd68 100644
--- a/addons/website_slides/models/slides.py
+++ b/addons/website_slides/models/slides.py
@@ -142,11 +142,11 @@ class Channel(models.Model):
@api.multi
@api.depends('name')
- def _website_url(self, name, arg):
- res = super(Channel, self)._website_url(name, arg)
+ def _compute_website_url(self):
+ super(Channel, self)._compute_website_url()
base_url = self.env['ir.config_parameter'].get_param('web.base.url')
- res.update({(channel.id, '%s/slides/%s' % (base_url, slug(channel))) for channel in self})
- return res
+ for channel in self:
+ channel.website_url = '%s/slides/%s' % (base_url, slug(channel))
@api.onchange('visibility')
def change_visibility(self):
@@ -346,17 +346,16 @@ class Slide(models.Model):
@api.multi
@api.depends('name')
- def _website_url(self, name, arg):
- res = super(Slide, self)._website_url(name, arg)
+ def _compute_website_url(self):
+ super(Slide, self)._compute_website_url()
base_url = self.env['ir.config_parameter'].get_param('web.base.url')
- #link_tracker is not in dependencies, so use it to shorten url only if installed.
- if self.env.registry.get('link.tracker'):
- LinkTracker = self.env['link.tracker']
- res.update({(slide.id, LinkTracker.sudo().create({'url': '%s/slides/slide/%s' % (base_url, slug(slide))}).short_url) for slide in self})
- else:
- res.update({(slide.id, '%s/slides/slide/%s' % (base_url, slug(slide))) for slide in self})
- return res
-
+ for slide in self:
+ #link_tracker is not in dependencies, so use it to shorten url only if installed.
+ if self.env.registry.get('link.tracker'):
+ url = self.env['link.tracker'].sudo().create({'url': '%s/slides/slide/%s' % (base_url, slug(slide))}).short_url
+ else:
+ url = '%s/slides/slide/%s' % (base_url, slug(slide))
+ slide.website_url = url
@api.model
def create(self, values):