27 lines
1.2 KiB
Python
27 lines
1.2 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
|
||
|
from odoo import api, fields, models
|
||
|
|
||
|
|
||
|
class Forum(models.Model):
|
||
|
_inherit = 'forum.forum'
|
||
|
|
||
|
slide_channel_ids = fields.One2many('slide.channel', 'forum_id', 'Courses', help="Edit the course linked to this forum on the course form.")
|
||
|
slide_channel_id = fields.Many2one('slide.channel', 'Course', compute='_compute_slide_channel_id', store=True)
|
||
|
visibility = fields.Selection(related='slide_channel_id.visibility', help="Forum linked to a Course, the visibility is the one applied on the course.")
|
||
|
image_1920 = fields.Image('Image', compute='_compute_image_1920', store=True, readonly=False)
|
||
|
|
||
|
@api.depends('slide_channel_ids')
|
||
|
def _compute_slide_channel_id(self):
|
||
|
for forum in self:
|
||
|
if forum.slide_channel_ids:
|
||
|
forum.slide_channel_id = forum.slide_channel_ids[0]
|
||
|
else:
|
||
|
forum.slide_channel_id = None
|
||
|
|
||
|
@api.depends('slide_channel_id', 'slide_channel_id.image_1920')
|
||
|
def _compute_image_1920(self):
|
||
|
for forum in self.filtered(lambda f: not f.image_1920 and f.slide_channel_id.image_1920):
|
||
|
forum.image_1920 = forum.slide_channel_id.image_1920
|