31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from itertools import zip_longest
|
|
|
|
from odoo import models
|
|
from odoo.addons.website_slides.populate.slide_channel import SlideChannel
|
|
|
|
|
|
class SlidesForum(models.Model):
|
|
_inherit = 'forum.forum'
|
|
|
|
@property
|
|
def _populate_sizes(self):
|
|
return {size: count + SlideChannel._populate_sizes[size] for size, count in super()._populate_sizes.items()}
|
|
|
|
@property
|
|
def _populate_dependencies(self):
|
|
return super()._populate_dependencies + ['slide.channel']
|
|
|
|
def _populate_factories(self):
|
|
def link_course(iterator, *args, **kwargs):
|
|
courses = self.env['slide.channel'].browse(self.env.registry.populated_models['slide.channel'])
|
|
for values, course in zip_longest(iterator, courses):
|
|
if course:
|
|
values.update(slide_channel_ids=course, name=f"{course.name}'s Forum")
|
|
yield values
|
|
|
|
return super()._populate_factories() + [
|
|
('_name_and_course', link_course),
|
|
]
|