mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
52 lines
2.2 KiB
Python
52 lines
2.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
import json
|
|
from odoo import api, models, fields, _
|
|
from odoo.http import request
|
|
from odoo.tools.safe_eval import safe_eval
|
|
|
|
|
|
class BlogPost(models.Model):
|
|
_inherit = 'blog.post'
|
|
|
|
# 不允许暴力删除
|
|
blog_id = fields.Many2one('blog.blog', ondelete='restrict')
|
|
|
|
def write(self, vals):
|
|
website = request.env['website'].get_current_website()
|
|
if 'website_meta_og_img' in vals and not vals.get('cover_properties'):
|
|
sync_blog_meta_background_img = self.env['ir.config_parameter'].sudo().get_param('app_website_blog_editor.sync_blog_meta_background_img')
|
|
if sync_blog_meta_background_img:
|
|
web_base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url', default='')
|
|
for rec in self:
|
|
if not vals.get('website_meta_og_img') and website.has_social_default_image and website.social_default_image:
|
|
# 设置为空值则用 社媒seo图
|
|
img_url = website.image_url(website, 'social_default_image')
|
|
else:
|
|
img_url = vals.get('website_meta_og_img').replace(web_base_url, '').replace(website.domain, '')
|
|
if img_url:
|
|
cover_properties = json.loads(rec.cover_properties)
|
|
cover_properties.update({
|
|
'background-image': 'url("%s")' % img_url,
|
|
})
|
|
vals.update({
|
|
'cover_properties': json.dumps(cover_properties)
|
|
})
|
|
return super(BlogPost, self).write(vals)
|
|
|
|
def action_post_debug_view(self):
|
|
self.ensure_one()
|
|
action = self.env.ref('website_blog.action_blog_post').sudo().read()[0]
|
|
|
|
action['views'] = [(self.env.ref('website_blog.view_blog_post_form').id, 'form')]
|
|
action['res_id'] = self.id
|
|
return action
|
|
|
|
def action_post_code_view(self):
|
|
self.ensure_one()
|
|
action = self.env.ref('website_blog.action_blog_post').sudo().read()[0]
|
|
|
|
action['views'] = [(self.env.ref('app_website_blog_editor.app_blog_post_form_view_code').id, 'form')]
|
|
action['res_id'] = self.id
|
|
return action
|