Skip to content

Commit

Permalink
[FIX] account_tax_settlement: journal dashboard
Browse files Browse the repository at this point in the history
task 34258

closes #284

Signed-off-by: Juan José Scarafía <jjs@adhoc.com.ar>
  • Loading branch information
ica-adhoc committed Nov 22, 2023
1 parent 63a0a36 commit 905a132
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions account_tax_settlement/models/account_journal_dashboard.py
@@ -1,23 +1,29 @@
from odoo import models
from odoo.tools.misc import formatLang

from odoo.tools.safe_eval import safe_eval

class AccountJournal(models.Model):
_inherit = 'account.journal'

def get_journal_dashboard_datas(self):
res = super(AccountJournal, self).get_journal_dashboard_datas()
currency = self.currency_id or self.company_id.currency_id
# TODO hacer por sql por temas de performance?
unsettled_lines = self._get_tax_settlement_move_lines_by_tags()
res.update({
# los importes estan en la moneda de la cia, sin importar el diario
'unsettled_count': len(unsettled_lines),
'unsettled_amount': formatLang(self.env, -sum(unsettled_lines.mapped('balance')), currency_obj=currency),
'debit_amount': formatLang(self.env, self.settlement_partner_id.debit, currency_obj=currency),
})
def _get_journal_dashboard_data_batched(self):
res = super(AccountJournal, self)._get_journal_dashboard_data_batched()
self._fill_tax_settlement_dashboard_data(res)
return res

def _fill_tax_settlement_dashboard_data(self, dashboard_data):
tax_settlement_journals = self.filtered(lambda journal: journal.tax_settlement != False)
if not tax_settlement_journals:
return
# TODO hacer por sql para mejorar performance
for journal in tax_settlement_journals:
currency = journal.currency_id or journal.company_id.currency_id
unsettled_lines = journal._get_tax_settlement_move_lines_by_tags()
dashboard_data[journal.id].update({
'unsettled_count': len(unsettled_lines),
'unsettled_amount': formatLang(self.env, -sum(unsettled_lines.mapped('balance')), currency_obj=currency),
'debit_amount': formatLang(self.env, journal.settlement_partner_id.debit, currency_obj=currency),
})

def open_action(self):
"""
Modificamos funcion para que si es liquidacion de impuestos devuelva accion correspondiente
Expand All @@ -32,7 +38,7 @@ def open_action(self):
return action
elif debt_balance and self.settlement_partner_id:
action = self.settlement_partner_id.open_partner_ledger()
ctx = action.get('context')
ctx = safe_eval(action.get('context'))
ctx.update({
'default_partner_id': self.settlement_partner_id.id,
})
Expand Down

0 comments on commit 905a132

Please sign in to comment.