diff --git a/models/res_partner.py b/models/res_partner.py index b160309840c20bba7c3548784d1ba451b6bf9cbc..3907a4b5040f0335ba5e379bdca5d4af4d6635fb 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -1212,11 +1212,11 @@ class ScopPartner(models.Model): ) def _compute_last_effective(self): for partner in self: - lm = partner.staff_ids.sorted(key="effective_date", reverse=True) - if lm: - partner.staff_last = lm[0].staff_count - partner.staff_shareholder_last = lm[0].staff_shareholder_count - partner.staff_last_date = lm[0].effective_date + lines = partner._get_staff_lines() + if lines: + partner.staff_last = lines[0].staff_count + partner.staff_shareholder_last = lines[0].staff_shareholder_count + partner.staff_last_date = lines[0].effective_date def _compute_segment_nb(self): for partner in self: @@ -1256,9 +1256,9 @@ class ScopPartner(models.Model): else: partner.is_administrative = False - @api.depends("revision_next_exercice", - "revision_same_exercice", - ) + @api.depends( + "revision_next_exercice", "revision_same_exercice", + ) def _compute_revision_next_year(self): for partner in self: if partner.revision_same_exercice: @@ -1741,6 +1741,10 @@ class ScopPartner(models.Model): cedex = f" CEDEX {self.postal_cedex}" if self.postal_cedex else "" return f"{street_address}\n{city_address}{cedex}" + def _get_staff_lines(self): + self.ensure_one() + return self.staff_ids.sorted(key="effective_date", reverse=True) + # ------------------------------------------------------ # CRON function # ------------------------------------------------------