blob: 5ea45fe3aa19d51b36a557736e2cd64298a36bb5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo 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
|