diff options
Diffstat (limited to 'addons/website_slides_forum/controllers/main.py')
| -rw-r--r-- | addons/website_slides_forum/controllers/main.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/addons/website_slides_forum/controllers/main.py b/addons/website_slides_forum/controllers/main.py new file mode 100644 index 00000000..2331f11c --- /dev/null +++ b/addons/website_slides_forum/controllers/main.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.http import request +from odoo.addons.website_slides.controllers.main import WebsiteSlides + + +class WebsiteSlidesForum(WebsiteSlides): + + def _slide_channel_prepare_values(self, **kwargs): + channel = super(WebsiteSlidesForum, self)._slide_channel_prepare_values(**kwargs) + if bool(kwargs.get('link_forum')): + forum = request.env['forum.forum'].create({ + 'name': kwargs.get('name') + }) + channel['forum_id'] = forum.id + return channel + + # Profile + # --------------------------------------------------- + + def _prepare_user_profile_parameters(self, **post): + post = super(WebsiteSlidesForum, self)._prepare_user_profile_parameters(**post) + if post.get('channel_id'): + channel = request.env['slide.channel'].browse(int(post.get('channel_id'))) + if channel.forum_id: + post.update({ + 'forum_id': channel.forum_id.id, + 'no_forum': False + }) + else: + post.update({'no_forum': True}) + return post |
