Skip to content

Commit fde17d0

Browse files
stenextodooNextev
authored andcommitted
[FIX] l10n_it_edi_doi_extension: sync l10n_it_edi_doi_id and fix available amount compute
1 parent 5afe790 commit fde17d0

File tree

1 file changed

+33
-4
lines changed

1 file changed

+33
-4
lines changed

l10n_it_edi_doi_extension/models/account_move_doi.py

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ class AccountMoveDoi(models.Model):
7878
)
7979

8080
@api.depends(
81-
"declaration_id", "declaration_id.threshold", "declaration_id.invoiced"
81+
"amount",
82+
"declaration_id",
83+
"declaration_id.remaining",
8284
)
8385
def _compute_declaration_available(self):
8486
for record in self:
8587
if record.declaration_id:
86-
record.declaration_available = (
87-
record.declaration_id.threshold - record.declaration_id.invoiced
88-
)
88+
record.declaration_available = record.declaration_id.remaining
8989
else:
9090
record.declaration_available = 0
9191

@@ -122,3 +122,32 @@ def _compute_display_name(self):
122122
)
123123
else:
124124
record.display_name = _("New")
125+
126+
def _sync_l10n_it_edi_doi_id(self, moves=None):
127+
"""Sync l10n_it_edi_doi_id on the invoice with the first bridge record."""
128+
if moves is None:
129+
moves = self.mapped("move_id")
130+
for move in moves:
131+
doi_ids = move.l10n_it_edi_doi_ids
132+
if doi_ids:
133+
move.l10n_it_edi_doi_id = doi_ids[0].declaration_id
134+
else:
135+
move.l10n_it_edi_doi_id = False
136+
137+
@api.model_create_multi
138+
def create(self, vals_list):
139+
records = super().create(vals_list)
140+
records._sync_l10n_it_edi_doi_id()
141+
return records
142+
143+
def write(self, vals):
144+
res = super().write(vals)
145+
if "declaration_id" in vals:
146+
self._sync_l10n_it_edi_doi_id()
147+
return res
148+
149+
def unlink(self):
150+
moves = self.mapped("move_id")
151+
res = super().unlink()
152+
self._sync_l10n_it_edi_doi_id(moves)
153+
return res

0 commit comments

Comments
 (0)