mirror of
https://gitlab.com/flectra-hq/flectra.git
synced 2026-10-31 10:04:02 -05:00
28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo, Flectra. See LICENSE file for full copyright and licensing details.
|
|
|
|
from flectra import fields, models
|
|
|
|
|
|
class Channel(models.Model):
|
|
_inherit = 'mail.channel'
|
|
|
|
subscription_department_ids = fields.Many2many(
|
|
'hr.department', string='HR Departments',
|
|
help='Automatically subscribe members of those departments to the channel.')
|
|
|
|
def _subscribe_users(self):
|
|
""" Auto-subscribe members of a department to a channel """
|
|
super(Channel, self)._subscribe_users()
|
|
for mail_channel in self:
|
|
if mail_channel.subscription_department_ids:
|
|
mail_channel.write(
|
|
{'channel_partner_ids':
|
|
[(4, partner_id) for partner_id in mail_channel.mapped('subscription_department_ids.member_ids.user_id.partner_id').ids]})
|
|
|
|
def write(self, vals):
|
|
res = super(Channel, self).write(vals)
|
|
if vals.get('subscription_department_ids'):
|
|
self._subscribe_users()
|
|
return res
|