From 554414b90fde3ee0e216e02e0ab0c81f6735b38d Mon Sep 17 00:00:00 2001 From: XavierDo Date: Wed, 5 Sep 2018 18:17:17 +0200 Subject: [PATCH] [FIX] mail: fix use of resend wizard when user are in failure The user right to edit partners was handled in order to set email fields as readonly If a user is in the failed recipient, we need to check that the urrent user also has right to write on users --- addons/mail/wizard/mail_resend_message.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/mail/wizard/mail_resend_message.py b/addons/mail/wizard/mail_resend_message.py index 38815c1a64d..67b80f88833 100644 --- a/addons/mail/wizard/mail_resend_message.py +++ b/addons/mail/wizard/mail_resend_message.py @@ -29,7 +29,6 @@ class MailResendMessage(models.TransientModel): if message_id: mail_message_id = self.env['mail.message'].browse(message_id) notification_ids = mail_message_id.notification_ids.filtered(lambda notif: notif.email_status in ('exception', 'bounce')) - partner_readonly = not self.env['res.partner'].check_access_rights('write', raise_exception=False) partner_ids = [(0, 0, { "partner_id": notif.res_partner_id.id, @@ -39,6 +38,11 @@ class MailResendMessage(models.TransientModel): "message": notif.format_failure_reason(), } ) for notif in notification_ids] + has_user = any([notif.res_partner_id.user_ids for notif in notification_ids]) + if has_user: + partner_readonly = not self.env['res.users'].check_access_rights('write', raise_exception=False) + else: + partner_readonly = not self.env['res.partner'].check_access_rights('write', raise_exception=False) rec['partner_readonly'] = partner_readonly rec['notification_ids'] = [(6, 0, notification_ids.ids)] rec['mail_message_id'] = mail_message_id.id