Skip to content

Commit

Permalink
[FIX] membership_extension: Don't return early + remove condition
Browse files Browse the repository at this point in the history
- Don't return before consuming whole recordset.
- The 'cancelled' state is no covered upstream through 'reverse_entry_id'.
  • Loading branch information
pedrobaeza committed Jan 8, 2024
1 parent ecbd5cd commit 1bc13cc
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions membership_extension/models/membership_line.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,14 @@ def _onchange_membership_date(self):
self.date_to = date_to

def _compute_state(self):
for line in self:
if isinstance(line.id, models.NewId) or not line.account_invoice_id:
line.state = line.state or "none"
elif (
line.account_invoice_id.state == "posted"
and line.account_invoice_id.payment_state == "reversed"
):
line.state = "canceled"
else:
return super(MembershipLine, line)._compute_state()
"""Allow to keep the current manual state if no linked invoice."""
no_invoice_lines = self.filtered(
lambda line: isinstance(line.id, models.NewId)
or not line.account_invoice_id
)
for line in no_invoice_lines:
line.state = line.state or "none"
return super(MembershipLine, self - no_invoice_lines)._compute_state()

# Empty method _inverse_state
def _inverse_state(self):
Expand Down

0 comments on commit 1bc13cc

Please sign in to comment.