Fix allow_mail_archived_partner causing system notifications to send emails
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
import logging
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
from odoo import models, api
|
||||
|
||||
|
||||
@@ -10,13 +7,9 @@ class ResPartner(models.Model):
|
||||
@api.model
|
||||
def _search(self, args, offset=0, limit=None, order=None, count=False, access_rights_uid=None):
|
||||
"""
|
||||
SIMPLE: Just remove active filters when context says to include archived.
|
||||
Remove active filters when context indicates manual email send
|
||||
(to allow finding archived partners).
|
||||
"""
|
||||
_logger.error("🔥 RES.PARTNER._search - Checking for archived context")
|
||||
_logger.error(f"🔥 Context force_email: {self.env.context.get('force_email')}")
|
||||
_logger.error(f"🔥 Context mark_invoice_as_sent: {self.env.context.get('mark_invoice_as_sent')}")
|
||||
_logger.error(f"🔥 Context mail_notify_force: {self.env.context.get('mail_notify_force')}")
|
||||
|
||||
# Check for manual email context
|
||||
include_archived = (
|
||||
self.env.context.get("force_email") or
|
||||
@@ -24,11 +17,8 @@ class ResPartner(models.Model):
|
||||
self.env.context.get("mail_notify_force")
|
||||
)
|
||||
|
||||
_logger.error(f"🔥 Should include archived? {include_archived}")
|
||||
|
||||
if include_archived:
|
||||
_logger.error("🔥 Removing active filters for archived partners")
|
||||
# Simple: remove active filters
|
||||
# Remove active filters to include archived partners
|
||||
args = [
|
||||
arg for arg in args
|
||||
if not (isinstance(arg, (list, tuple)) and
|
||||
@@ -36,12 +26,5 @@ class ResPartner(models.Model):
|
||||
arg[0] == "active")
|
||||
]
|
||||
self = self.with_context(active_test=False)
|
||||
_logger.error(f"🔥 Search args after: {args}")
|
||||
|
||||
result = super()._search(args, offset, limit, order, count, access_rights_uid)
|
||||
|
||||
if not count:
|
||||
result_ids = list(result)
|
||||
_logger.error(f"🔥 Search returned {len(result_ids)} results")
|
||||
|
||||
return result
|
||||
return super()._search(args, offset, limit, order, count, access_rights_uid)
|
||||
Reference in New Issue
Block a user