From 8557f0e7900d4386e71a12777cd4b5179edfc1b3 Mon Sep 17 00:00:00 2001 From: Chill Date: Thu, 13 Apr 2023 18:24:01 +0800 Subject: [PATCH] update app_chatgpt --- app_chatgpt/__manifest__.py | 2 +- app_chatgpt/models/__init__.py | 2 +- app_chatgpt/models/mail_channel.py | 13 +++++++------ app_chatgpt/models/res_partner_ai_use.py | 1 + app_chatgpt/models/res_users.py | 2 +- app_chatgpt/views/res_partner_ai_use_views.xml | 15 ++++++++++++--- app_chatgpt/views/res_users_views.xml | 6 +++++- 7 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app_chatgpt/__manifest__.py b/app_chatgpt/__manifest__.py index b9a7a86a..b4833787 100644 --- a/app_chatgpt/__manifest__.py +++ b/app_chatgpt/__manifest__.py @@ -56,8 +56,8 @@ 'data/ir_config_parameter.xml', 'views/res_config_settings_views.xml', 'views/ai_robot_views.xml', - 'views/res_users_views.xml', 'views/res_partner_ai_use_views.xml', + 'views/res_users_views.xml', ], 'assets': { 'mail.assets_messaging': [ diff --git a/app_chatgpt/models/__init__.py b/app_chatgpt/models/__init__.py index 4b819a4e..6f41af76 100644 --- a/app_chatgpt/models/__init__.py +++ b/app_chatgpt/models/__init__.py @@ -4,7 +4,7 @@ from . import mail_channel from . import res_config_settings from . import ai_robot from . import res_partner +from . import res_partner_ai_use from . import res_users from . import mail_message from . import mail_thread -from . import res_partner_ai_use diff --git a/app_chatgpt/models/mail_channel.py b/app_chatgpt/models/mail_channel.py index ca664f67..d8975074 100644 --- a/app_chatgpt/models/mail_channel.py +++ b/app_chatgpt/models/mail_channel.py @@ -28,7 +28,8 @@ class Channel(models.Model): ('message_type', '!=', 'user_notification'), ('parent_id', '!=', False), ('author_id', '=', answer_id.id), - ('body', '!=', '

%s

' % _('Response Timeout, please speak again.'))] + ('body', '!=', '

%s

' % _('Response Timeout, please speak again.')), + ('body', '!=', '温馨提示:您发送的内容含有敏感词,请修改内容后再向我发送。')] if self.channel_type in ['group', 'channel']: # 群聊增加时间限制,当前找所有人,不限制 author_id domain += [('date', '>=', afterTime)] @@ -68,8 +69,8 @@ class Channel(models.Model): user_id = answer_id.mapped('user_ids').filtered(lambda r: r.gpt_id)[:1] if user_id and answer_id.gpt_id: gpt_policy = user_id.gpt_policy - gpt_wl_users = user_id.gpt_wl_users - is_allow = message.create_uid.id in gpt_wl_users.ids + gpt_wl_partners = user_id.gpt_wl_partners + is_allow = message.author_id.id in gpt_wl_partners.ids if gpt_policy == 'all' or (gpt_policy == 'limit' and is_allow): ai = answer_id.gpt_id @@ -82,8 +83,8 @@ class Channel(models.Model): user_id = partners.mapped('user_ids').filtered(lambda r: r.gpt_id)[:1] if user_id: gpt_policy = user_id.gpt_policy - gpt_wl_users = user_id.gpt_wl_users - is_allow = message.create_uid.id in gpt_wl_users.ids + gpt_wl_partners = user_id.gpt_wl_partners + is_allow = message.author_id.id in gpt_wl_partners.ids answer_id = user_id.partner_id if gpt_policy == 'all' or (gpt_policy == 'limit' and is_allow): ai = user_id.gpt_id @@ -134,7 +135,7 @@ class Channel(models.Model): if sync_config == 'sync': self.get_ai_response(ai, messages, channel, user_id, message) else: - self.with_delay().get_ai(ai, messages, channel, user_id, message) + self.with_delay().get_ai_response(ai, messages, channel, user_id, message) except Exception as e: raise UserError(_(e)) diff --git a/app_chatgpt/models/res_partner_ai_use.py b/app_chatgpt/models/res_partner_ai_use.py index 202e87a3..a3d60e3e 100644 --- a/app_chatgpt/models/res_partner_ai_use.py +++ b/app_chatgpt/models/res_partner_ai_use.py @@ -8,6 +8,7 @@ class ResPartnerAiUse(models.Model): _description = '消费者Ai使用情况' name = fields.Many2one('res.partner', 'Partner') + ai_user_id = fields.Many2one('res.users', 'Ai User', domain=[('gpt_id', '!=', False)]) first_ask_time = fields.Datetime('First Ask Time') service_start_date = fields.Datetime('Service Start Date') service_end_date = fields.Datetime('Service End Date') diff --git a/app_chatgpt/models/res_users.py b/app_chatgpt/models/res_users.py index 2fa6a8be..2c4f3b1d 100644 --- a/app_chatgpt/models/res_users.py +++ b/app_chatgpt/models/res_users.py @@ -12,5 +12,5 @@ class ResUsers(models.Model): ('all', 'All Users'), ('limit', 'Selected Users') ], string='Allowed Conversation Mode', default='all', ondelete='set default') - gpt_wl_users = fields.Many2many('res.users', 'res_users_res_users_rel', 'robot_id', 'user_id', string='Allowed Users', domain="[('id', '!=', id)]") + gpt_wl_partners = fields.Many2many('res.partner', 'res_partner_ai_use', 'ai_user_id', 'name', string='Allowed Partners') gpt_demo_time = fields.Integer('Default Demo Time', default=0) diff --git a/app_chatgpt/views/res_partner_ai_use_views.xml b/app_chatgpt/views/res_partner_ai_use_views.xml index 9f76e740..e51c5531 100644 --- a/app_chatgpt/views/res_partner_ai_use_views.xml +++ b/app_chatgpt/views/res_partner_ai_use_views.xml @@ -6,6 +6,7 @@ + @@ -31,6 +32,7 @@ + @@ -44,8 +46,6 @@ - - @@ -55,7 +55,16 @@ Partner Ai Use res.partner.ai.use tree,form - {} + {'create': 0, 'delete': 0} + + + + + Partner Ai Use + res.partner.ai.use + tree,form + [('ai_user_id', 'in', active_ids)] + {'default_ai_user_id':active_id,} res.users + + + - +