diff --git a/soong_workflow/wizard/soong_bounced_wizard.py b/soong_workflow/wizard/soong_bounced_wizard.py index 39df9fe8a..7ce7217d5 100644 --- a/soong_workflow/wizard/soong_bounced_wizard.py +++ b/soong_workflow/wizard/soong_bounced_wizard.py @@ -12,10 +12,13 @@ class SoongBouncedWizard(models.Model): res_model = fields.Char() def action_bounced(self): + current_user = self.env.user record = self.env[self.res_model].search([('id', '=', self.res_id)]) + is_admin = current_user.has_group('base.group_system') or current_user.has_group('base.group_admin') log_ids = record.log_ids.sorted('sequence') - if log_ids[-1].approval_state in ['1', '2']: - raise UserError('当前状态不可以收回') + if not is_admin: + if log_ids[-1].approval_state in ['1', '2']: + raise UserError('当前状态不可以收回') related_record = self.env[self.res_model].browse(self.res_id) if hasattr(related_record, 'self_users_ids'): related_record.self_users_ids = [(6, 0, [log_ids[-2].done_by.id])]