Skip to content

Commit

Permalink
T1732 FIX interaction for partners without email
Browse files Browse the repository at this point in the history
  • Loading branch information
alexis-allemann authored and ecino committed Aug 22, 2024
1 parent 48f48f7 commit c51a818
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 1 deletion.
2 changes: 2 additions & 0 deletions interaction_resume/models/abstract_interaction_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ def fetch_interaction(
@param until:
"""
search_domain = self._get_interaction_partner_domain(partner)
if not search_domain:
return True
records = self.search(
[
*search_domain,
Expand Down
6 changes: 6 additions & 0 deletions interaction_resume/models/crm_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ def _get_interaction_data(self, partner_id):
return res

def _get_interaction_partner_domain(self, partner):
if not partner.email:
return [
"|",
("partner_id", "=", partner.id),
("partner_id", "in", partner.other_contact_ids.ids),
]
return [
"|",
"|",
Expand Down
1 change: 1 addition & 0 deletions interaction_resume/models/mailing_trace.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,5 @@ def _get_interaction_data(self, partner_id):
def _get_interaction_partner_domain(self, partner):
return [
("email", "=", partner.email),
("email", "!=", False),
]
8 changes: 7 additions & 1 deletion interaction_resume/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
# The licence is in the file __manifest__.py
#
##############################################################################
from datetime import datetime as dt

from dateutil.relativedelta import relativedelta

from odoo import _, fields, models
Expand Down Expand Up @@ -63,7 +65,11 @@ def fetch_interactions(
self.ensure_one()
# Each page shows interactions for one year
years_to_fetch = 1
until = fields.Datetime.now() - relativedelta(years=page * years_to_fetch)
years = page * years_to_fetch
# Do not fetch invalid negative years interactions
if years > dt.now().year:
return True
until = fields.Datetime.now() - relativedelta(years=years)
since = until - relativedelta(years=years_to_fetch)
models = [
"partner.communication.job",
Expand Down

0 comments on commit c51a818

Please sign in to comment.