From b89bd713c26e1b32832c6b5b76851cd0d24b3ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Wed, 6 May 2026 19:48:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_wechat/models/res_users.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/yuthon_wechat/models/res_users.py b/yuthon_wechat/models/res_users.py index 905a068c7..22fdf1db6 100644 --- a/yuthon_wechat/models/res_users.py +++ b/yuthon_wechat/models/res_users.py @@ -63,6 +63,21 @@ class ResUsers(models.Model): wecom_fields = fields.Char(string="免登录验证字段", compute='_compute_wecom_fields', stroe=True) + @api.model_create_multi + def create(self, vals_list): + users = super().create(vals_list) + # 新建用户后移除财务管理员权限组 + groups_to_remove = [] + group_manager = self.env.ref('account.group_account_manager', raise_if_not_found=False) + group_invoice = self.env.ref('account.group_account_invoice', raise_if_not_found=False) + if group_manager: + groups_to_remove.append((3, group_manager.id)) + if group_invoice: + groups_to_remove.append((3, group_invoice.id)) + if groups_to_remove: + users.sudo().write({'groups_id': groups_to_remove}) + return users + @api.depends('login') def _compute_wecom_fields(self): for i in self: @@ -179,6 +194,16 @@ class ResUsers(models.Model): try: with self.env.cr.savepoint(): user_id = template_user.sudo().with_context(no_reset_password=True).copy(values) + # 移除财务管理员权限组 + groups_to_remove = [] + group_manager = self.env.ref('account.group_account_manager', raise_if_not_found=False) + group_invoice = self.env.ref('account.group_account_invoice', raise_if_not_found=False) + if group_manager: + groups_to_remove.append((3, group_manager.id)) + if group_invoice: + groups_to_remove.append((3, group_invoice.id)) + if groups_to_remove: + user_id.sudo().write({'groups_id': groups_to_remove}) return user_id except Exception as e: _logger.exception("OAuth Wechat: 微信访问用户【UserId:%s】自动创建失败【Odoo错误:%s】!" % (userid, ustr(e)))