Skip to content

Commit

Permalink
edi: fix archive rules when type archived
Browse files Browse the repository at this point in the history
  • Loading branch information
simahawk committed Oct 3, 2023
1 parent 9754df3 commit 91f71b8
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
8 changes: 7 additions & 1 deletion edi_oca/models/edi_exchange_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class EDIExchangeType(models.Model):
_name = "edi.exchange.type"
_description = "EDI Exchange Type"

active = fields.Boolean(default=True)
active = fields.Boolean(default=True, inverse="_inverse_active")
backend_id = fields.Many2one(
string="Backend",
comodel_name="edi.backend",
Expand Down Expand Up @@ -161,6 +161,12 @@ class EDIExchangeType(models.Model):
)
]

def _inverse_active(self):
for rec in self:
# Disable rules if type gets disabled
if not rec.active:
rec.rule_ids.active = False

@api.depends("advanced_settings_edit")
def _compute_advanced_settings(self):
for rec in self:
Expand Down
22 changes: 22 additions & 0 deletions edi_oca/tests/test_exchange_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,25 @@ def test_filename_pattern_settings(self):
date_pattern: '%Y-%m-%d-%H-%M'
"""
self._test_exchange_filename("Test-File-2022-04-28-10-37.csv")

def test_archive_rules(self):
exc_type = self.exchange_type_out
rule1 = exc_type.rule_ids.create(
{
"type_id": exc_type.id,
"name": "Fake partner rule",
"model_id": self.env["ir.model"]._get("res.partner").id,
}
)
rule2 = exc_type.rule_ids.create(
{
"type_id": exc_type.id,
"name": "Fake user rule",
"model_id": self.env["ir.model"]._get("res.users").id,
}
)
exc_type.active = False
rule1.invalidate_cache()
rule2.invalidate_cache()
self.assertFalse(rule1.active)
self.assertFalse(rule2.active)

0 comments on commit 91f71b8

Please sign in to comment.