yuthon_base/ks_dashboard_ninja/models/ks_chat_channel.py
李鹏宇 cd653ce24c 1
2026-06-04 14:24:28 +08:00

30 lines
1.1 KiB
Python

from odoo import models, fields, api, _
class ChatChannel(models.Model):
_inherit = 'discuss.channel'
ks_dashboard_board_id = fields.Many2one('ks_dashboard_ninja.board')
ks_dashboard_item_id = fields.Many2one('ks_dashboard_ninja.item')
def ks_chat_wizard_channel_id(self, **kwargs):
item_id = kwargs.get('item_id')
dashboard_id = kwargs.get('dashboard_id')
item_name = kwargs.get('item_name')
dashboard_name = kwargs.get('dashboard_name')
channel = self.search([('ks_dashboard_item_id', '=', item_id)], limit=1)
if not channel:
users = self.env['res.users'].search([
('active', '=', True), ('groups_id', 'in', self.env.ref('base.group_user').id)]).mapped('partner_id.id')
channel = self.sudo().create({
'name': f"{dashboard_name} - {item_name}",
'ks_dashboard_board_id': dashboard_id,
'ks_dashboard_item_id': item_id,
'channel_member_ids': [(0, 0, {'partner_id': partner_id}) for partner_id in users]
})
return channel.id if channel else None