odoo-addon-account-financial-report 17.0.1.6.1__py3-none-any.whl → 18.0.1.0.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of odoo-addon-account-financial-report might be problematic. Click here for more details.

Files changed (77) hide show
  1. odoo/addons/account_financial_report/README.rst +15 -8
  2. odoo/addons/account_financial_report/__manifest__.py +3 -2
  3. odoo/addons/account_financial_report/i18n/account_financial_report.pot +1 -124
  4. odoo/addons/account_financial_report/i18n/ar.po +0 -28
  5. odoo/addons/account_financial_report/i18n/ca.po +0 -28
  6. odoo/addons/account_financial_report/i18n/de.po +0 -28
  7. odoo/addons/account_financial_report/i18n/es.po +0 -28
  8. odoo/addons/account_financial_report/i18n/es_AR.po +0 -28
  9. odoo/addons/account_financial_report/i18n/es_MX.po +0 -28
  10. odoo/addons/account_financial_report/i18n/fr.po +0 -28
  11. odoo/addons/account_financial_report/i18n/fr_CH.po +0 -28
  12. odoo/addons/account_financial_report/i18n/fr_FR.po +0 -28
  13. odoo/addons/account_financial_report/i18n/hr.po +0 -28
  14. odoo/addons/account_financial_report/i18n/hr_HR.po +0 -28
  15. odoo/addons/account_financial_report/i18n/it.po +0 -28
  16. odoo/addons/account_financial_report/i18n/ja.po +0 -28
  17. odoo/addons/account_financial_report/i18n/nl.po +0 -28
  18. odoo/addons/account_financial_report/i18n/nl_NL.po +0 -28
  19. odoo/addons/account_financial_report/i18n/pt.po +0 -28
  20. odoo/addons/account_financial_report/i18n/pt_BR.po +0 -28
  21. odoo/addons/account_financial_report/i18n/ro.po +0 -28
  22. odoo/addons/account_financial_report/i18n/sv.po +0 -28
  23. odoo/addons/account_financial_report/i18n/tr.po +0 -28
  24. odoo/addons/account_financial_report/models/account.py +1 -1
  25. odoo/addons/account_financial_report/models/account_age_report_configuration.py +6 -4
  26. odoo/addons/account_financial_report/models/account_group.py +3 -3
  27. odoo/addons/account_financial_report/readme/CONFIGURE.md +1 -1
  28. odoo/addons/account_financial_report/readme/CONTRIBUTORS.md +2 -1
  29. odoo/addons/account_financial_report/readme/CREDITS.md +1 -0
  30. odoo/addons/account_financial_report/report/__init__.py +3 -3
  31. odoo/addons/account_financial_report/report/abstract_report.py +3 -1
  32. odoo/addons/account_financial_report/report/abstract_report_xlsx.py +5 -5
  33. odoo/addons/account_financial_report/report/aged_partner_balance.py +16 -20
  34. odoo/addons/account_financial_report/report/aged_partner_balance_xlsx.py +30 -30
  35. odoo/addons/account_financial_report/report/general_ledger.py +26 -14
  36. odoo/addons/account_financial_report/report/general_ledger_xlsx.py +3 -3
  37. odoo/addons/account_financial_report/report/journal_ledger.py +9 -9
  38. odoo/addons/account_financial_report/report/journal_ledger_xlsx.py +1 -1
  39. odoo/addons/account_financial_report/report/open_items.py +1 -1
  40. odoo/addons/account_financial_report/report/open_items_xlsx.py +1 -1
  41. odoo/addons/account_financial_report/report/templates/aged_partner_balance.xml +29 -27
  42. odoo/addons/account_financial_report/report/templates/general_ledger.xml +2 -2
  43. odoo/addons/account_financial_report/report/templates/journal_ledger.xml +58 -66
  44. odoo/addons/account_financial_report/report/templates/layouts.xml +3 -9
  45. odoo/addons/account_financial_report/report/templates/trial_balance.xml +3 -5
  46. odoo/addons/account_financial_report/report/trial_balance.py +27 -30
  47. odoo/addons/account_financial_report/report/trial_balance_xlsx.py +1 -1
  48. odoo/addons/account_financial_report/report/vat_report.py +8 -4
  49. odoo/addons/account_financial_report/report/vat_report_xlsx.py +1 -1
  50. odoo/addons/account_financial_report/static/description/index.html +15 -8
  51. odoo/addons/account_financial_report/static/src/js/report.esm.js +1 -2
  52. odoo/addons/account_financial_report/static/src/js/report_action.esm.js +0 -1
  53. odoo/addons/account_financial_report/static/src/{css/report.css → scss/report.scss} +74 -42
  54. odoo/addons/account_financial_report/static/src/scss/report_html.scss +10 -0
  55. odoo/addons/account_financial_report/tests/__init__.py +1 -1
  56. odoo/addons/account_financial_report/tests/test_general_ledger.py +3 -3
  57. odoo/addons/account_financial_report/tests/test_journal_ledger.py +3 -4
  58. odoo/addons/account_financial_report/tests/test_open_items.py +2 -2
  59. odoo/addons/account_financial_report/tests/test_trial_balance.py +15 -8
  60. odoo/addons/account_financial_report/tests/test_vat_report.py +4 -5
  61. odoo/addons/account_financial_report/view/account_age_report_configuration_views.xml +6 -6
  62. odoo/addons/account_financial_report/wizard/aged_partner_balance_wizard.py +6 -4
  63. odoo/addons/account_financial_report/wizard/general_ledger_wizard.py +5 -5
  64. odoo/addons/account_financial_report/wizard/general_ledger_wizard_view.xml +14 -14
  65. odoo/addons/account_financial_report/wizard/journal_ledger_wizard.py +8 -4
  66. odoo/addons/account_financial_report/wizard/journal_ledger_wizard_view.xml +14 -14
  67. odoo/addons/account_financial_report/wizard/open_items_wizard.py +1 -1
  68. odoo/addons/account_financial_report/wizard/open_items_wizard_view.xml +14 -14
  69. odoo/addons/account_financial_report/wizard/trial_balance_wizard.py +10 -8
  70. odoo/addons/account_financial_report/wizard/trial_balance_wizard_view.xml +14 -14
  71. odoo/addons/account_financial_report/wizard/vat_report_wizard.py +2 -2
  72. odoo/addons/account_financial_report/wizard/vat_report_wizard_view.xml +14 -14
  73. {odoo_addon_account_financial_report-17.0.1.6.1.dist-info → odoo_addon_account_financial_report-18.0.1.0.0.2.dist-info}/METADATA +20 -13
  74. {odoo_addon_account_financial_report-17.0.1.6.1.dist-info → odoo_addon_account_financial_report-18.0.1.0.0.2.dist-info}/RECORD +76 -75
  75. odoo/addons/account_financial_report/static/src/css/report_html.css +0 -7
  76. {odoo_addon_account_financial_report-17.0.1.6.1.dist-info → odoo_addon_account_financial_report-18.0.1.0.0.2.dist-info}/WHEEL +0 -0
  77. {odoo_addon_account_financial_report-17.0.1.6.1.dist-info → odoo_addon_account_financial_report-18.0.1.0.0.2.dist-info}/top_level.txt +0 -0
@@ -52,14 +52,6 @@ msgstr "91 - 120 d."
52
52
  msgid "<b>Taxes summary</b>"
53
53
  msgstr "<b>Skatter sammanfattning</b>"
54
54
 
55
- #. module: account_financial_report
56
- #: model_terms:ir.ui.view,arch_db:account_financial_report.trial_balance_wizard
57
- msgid ""
58
- "<i class=\"fa fa-exclamation-triangle mr-3\"/>\n"
59
- " Duplicate amounts may be shown because more than one "
60
- "analytical account may be defined in the journal items."
61
- msgstr ""
62
-
63
55
  #. module: account_financial_report
64
56
  #: model_terms:ir.ui.view,arch_db:account_financial_report.res_config_settings_view_form
65
57
  msgid "<span class=\"o_form_label\">Intervals configuration</span>"
@@ -351,7 +343,6 @@ msgstr "Belopp val."
351
343
 
352
344
  #. module: account_financial_report
353
345
  #: model:ir.model.fields,field_description:account_financial_report.field_account_move_line__analytic_account_ids
354
- #: model:ir.model.fields.selection,name:account_financial_report.selection__trial_balance_report_wizard__grouped_by__analytic_account
355
346
  msgid "Analytic Account"
356
347
  msgstr "Objekt konto"
357
348
 
@@ -967,7 +958,6 @@ msgstr "Gruppinlägg efter"
967
958
 
968
959
  #. module: account_financial_report
969
960
  #: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__grouped_by
970
- #: model:ir.model.fields,field_description:account_financial_report.field_trial_balance_report_wizard__grouped_by
971
961
  msgid "Grouped By"
972
962
  msgstr "Grupperad efter"
973
963
 
@@ -1611,14 +1601,6 @@ msgstr "Startdatum"
1611
1601
  msgid "Starting account in a range"
1612
1602
  msgstr "Påbörjar ett konto inom ett intervall"
1613
1603
 
1614
- #. module: account_financial_report
1615
- #. odoo-python
1616
- #: code:addons/account_financial_report/report/trial_balance.py:0
1617
- #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
1618
- #, python-format
1619
- msgid "TOTAL"
1620
- msgstr ""
1621
-
1622
1604
  #. module: account_financial_report
1623
1605
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
1624
1606
  msgid "Tags"
@@ -1786,10 +1768,7 @@ msgid "To:"
1786
1768
  msgstr "Till:"
1787
1769
 
1788
1770
  #. module: account_financial_report
1789
- #. odoo-python
1790
- #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
1791
1771
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_account_ending_cumul
1792
- #, python-format
1793
1772
  msgid "Total"
1794
1773
  msgstr "Total"
1795
1774
 
@@ -1930,13 +1909,6 @@ msgstr ""
1930
1909
  msgid "With Account Name"
1931
1910
  msgstr "Med kontonamn"
1932
1911
 
1933
- #. module: account_financial_report
1934
- #. odoo-python
1935
- #: code:addons/account_financial_report/report/trial_balance.py:0
1936
- #, python-format
1937
- msgid "Without analytic account"
1938
- msgstr ""
1939
-
1940
1912
  #. module: account_financial_report
1941
1913
  #. odoo-python
1942
1914
  #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
@@ -52,14 +52,6 @@ msgstr ""
52
52
  msgid "<b>Taxes summary</b>"
53
53
  msgstr "<b>Vergi Özeti</b>"
54
54
 
55
- #. module: account_financial_report
56
- #: model_terms:ir.ui.view,arch_db:account_financial_report.trial_balance_wizard
57
- msgid ""
58
- "<i class=\"fa fa-exclamation-triangle mr-3\"/>\n"
59
- " Duplicate amounts may be shown because more than one "
60
- "analytical account may be defined in the journal items."
61
- msgstr ""
62
-
63
55
  #. module: account_financial_report
64
56
  #: model_terms:ir.ui.view,arch_db:account_financial_report.res_config_settings_view_form
65
57
  msgid "<span class=\"o_form_label\">Intervals configuration</span>"
@@ -343,7 +335,6 @@ msgstr ""
343
335
 
344
336
  #. module: account_financial_report
345
337
  #: model:ir.model.fields,field_description:account_financial_report.field_account_move_line__analytic_account_ids
346
- #: model:ir.model.fields.selection,name:account_financial_report.selection__trial_balance_report_wizard__grouped_by__analytic_account
347
338
  msgid "Analytic Account"
348
339
  msgstr "Analitik Hesap"
349
340
 
@@ -958,7 +949,6 @@ msgstr ""
958
949
 
959
950
  #. module: account_financial_report
960
951
  #: model:ir.model.fields,field_description:account_financial_report.field_general_ledger_report_wizard__grouped_by
961
- #: model:ir.model.fields,field_description:account_financial_report.field_trial_balance_report_wizard__grouped_by
962
952
  msgid "Grouped By"
963
953
  msgstr "Gruplanma"
964
954
 
@@ -1595,14 +1585,6 @@ msgstr "Başlama Tarihi"
1595
1585
  msgid "Starting account in a range"
1596
1586
  msgstr ""
1597
1587
 
1598
- #. module: account_financial_report
1599
- #. odoo-python
1600
- #: code:addons/account_financial_report/report/trial_balance.py:0
1601
- #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
1602
- #, python-format
1603
- msgid "TOTAL"
1604
- msgstr ""
1605
-
1606
1588
  #. module: account_financial_report
1607
1589
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_general_ledger_lines
1608
1590
  msgid "Tags"
@@ -1763,10 +1745,7 @@ msgid "To:"
1763
1745
  msgstr ""
1764
1746
 
1765
1747
  #. module: account_financial_report
1766
- #. odoo-python
1767
- #: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
1768
1748
  #: model_terms:ir.ui.view,arch_db:account_financial_report.report_aged_partner_balance_account_ending_cumul
1769
- #, python-format
1770
1749
  msgid "Total"
1771
1750
  msgstr "Toplam"
1772
1751
 
@@ -1902,13 +1881,6 @@ msgstr ""
1902
1881
  msgid "With Account Name"
1903
1882
  msgstr "Hesap Adıyla"
1904
1883
 
1905
- #. module: account_financial_report
1906
- #. odoo-python
1907
- #: code:addons/account_financial_report/report/trial_balance.py:0
1908
- #, python-format
1909
- msgid "Without analytic account"
1910
- msgstr ""
1911
-
1912
1884
  #. module: account_financial_report
1913
1885
  #. odoo-python
1914
1886
  #: code:addons/account_financial_report/report/general_ledger_xlsx.py:0
@@ -1,4 +1,4 @@
1
- # ?? 2011 Guewen Baconnier (Camptocamp)
1
+ # © 2011 Guewen Baconnier (Camptocamp)
2
2
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).-
3
3
  from odoo import fields, models
4
4
 
@@ -1,7 +1,7 @@
1
1
  # Copyright 2023 Ernesto García
2
2
  # Copyright 2023 Carolina Fernandez
3
3
  # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
4
- from odoo import _, api, fields, models
4
+ from odoo import api, fields, models
5
5
  from odoo.exceptions import ValidationError
6
6
 
7
7
 
@@ -21,7 +21,7 @@ class AccountAgeReportConfiguration(models.Model):
21
21
  def _check_line_ids(self):
22
22
  for rec in self:
23
23
  if not rec.line_ids:
24
- raise ValidationError(_("Must complete Configuration Lines"))
24
+ raise ValidationError(self.env._("Must complete Configuration Lines"))
25
25
 
26
26
 
27
27
  class AccountAgeReportConfigurationLine(models.Model):
@@ -36,12 +36,14 @@ class AccountAgeReportConfigurationLine(models.Model):
36
36
  def _check_inferior_limit(self):
37
37
  for rec in self:
38
38
  if rec.inferior_limit <= 0:
39
- raise ValidationError(_("Inferior Limit must be greather than zero"))
39
+ raise ValidationError(
40
+ self.env._("Inferior Limit must be greather than zero")
41
+ )
40
42
 
41
43
  _sql_constraints = [
42
44
  (
43
45
  "unique_name_config_combination",
44
46
  "UNIQUE(name,account_age_report_config_id)",
45
- _("Name must be unique per report configuration"),
47
+ "Name must be unique per report configuration",
46
48
  )
47
49
  ]
@@ -1,4 +1,4 @@
1
- # ?? 2018 Forest and Biomass Romania SA
1
+ # © 2018 Forest and Biomass Romania SA
2
2
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3
3
 
4
4
  from odoo import api, fields, models
@@ -42,8 +42,8 @@ class AccountGroup(models.Model):
42
42
  """Forms complete code of location from parent location to child location."""
43
43
  for group in self:
44
44
  if group.parent_id.complete_code:
45
- group.complete_code = "{}/{}".format(
46
- group.parent_id.complete_code, group.code_prefix_start
45
+ group.complete_code = (
46
+ f"{group.parent_id.complete_code}/{group.code_prefix_start}"
47
47
  )
48
48
  else:
49
49
  group.complete_code = group.code_prefix_start
@@ -16,7 +16,7 @@ Example of configuration inferior limit:
16
16
 
17
17
  It means the first interval is from 0 to 15, the second from 16 to 30, and the third is 61+.
18
18
 
19
- Go on 'Invoicing' -> 'Reports' -> 'OCA accounting reports' -> 'Aged Partner Balance'
19
+ Go on 'Invoicing' -> 'Reporting' -> 'OCA accounting reports' -> 'Aged Partner Balance'
20
20
 
21
21
  When wizard is open, you need to select your interval configuration and print report.
22
22
 
@@ -20,7 +20,7 @@
20
20
  - Pedro M. Baeza
21
21
  - Sergio Teruel
22
22
  - Ernesto Tejeda
23
- - Jo??o Marques
23
+ - João Marques
24
24
  - Alexandre D. D??az
25
25
  - V??ctor Mart??nez
26
26
  - Carolina Fernandez
@@ -30,6 +30,7 @@
30
30
  - Lois Rilo \<<lois.rilo@forgeflow.com>\>
31
31
  - Saran Lim. \<<saranl@ecosoft.co.th>\>
32
32
  - Omar Casti??eira \<<omar@comunitea.com>\>
33
+ - Chau Le \<<chaulb@trobz.com>\>
33
34
 
34
35
  Much of the work in this module was done at a sprint in Sorrento, Italy
35
36
  in April 2016.
@@ -0,0 +1 @@
1
+ The migration of this module from 17.0 to 18.0 was financially supported by Camptocamp.
@@ -1,6 +1,6 @@
1
- # ?? 2015 Yannick Vaucher (Camptocamp)
2
- # ?? 2016 Damien Crier (Camptocamp)
3
- # ?? 2016 Julien Coux (Camptocamp)
1
+ # © 2015 Yannick Vaucher (Camptocamp)
2
+ # © 2016 Damien Crier (Camptocamp)
3
+ # © 2016 Julien Coux (Camptocamp)
4
4
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).-
5
5
 
6
6
  from . import abstract_report
@@ -143,7 +143,9 @@ class AgedPartnerBalanceReport(models.AbstractModel):
143
143
  return accounts_data
144
144
 
145
145
  def _get_journals_data(self, journals_ids):
146
- journals = self.env["account.journal"].browse(journals_ids)
146
+ journals = self.env["account.journal"].search_fetch(
147
+ [("id", "in", journals_ids)], ["code"]
148
+ )
147
149
  journals_data = {}
148
150
  for journal in journals:
149
151
  journals_data.update({journal.id: {"id": journal.id, "code": journal.code}})
@@ -1,6 +1,6 @@
1
1
  # Author: Julien Coux
2
2
  # Copyright 2016 Camptocamp SA
3
- # Copyright 2021 Tecnativa - Jo??o Marques
3
+ # Copyright 2021 Tecnativa - João Marques
4
4
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
5
5
  from odoo import models
6
6
 
@@ -571,7 +571,7 @@ class AbstractReportXslx(models.AbstractModel):
571
571
  """Return amount header format for each currency."""
572
572
  format_amt = report_data["formats"]["format_header_amount"]
573
573
  if line_object.currency_id:
574
- field_name = "format_header_amount_%s" % line_object.currency_id.name
574
+ field_name = f"format_header_amount_{line_object.currency_id.name}"
575
575
  if hasattr(self, field_name):
576
576
  format_amt = getattr(self, field_name)
577
577
  else:
@@ -589,7 +589,7 @@ class AbstractReportXslx(models.AbstractModel):
589
589
  """Return amount header format for each currency."""
590
590
  format_amt = report_data["formats"]["format_header_amount"]
591
591
  if line_object["currency_id"]:
592
- field_name = "format_header_amount_%s" % line_object["currency_name"]
592
+ field_name = f"format_header_amount_{line_object['currency_name']}"
593
593
  if hasattr(self, field_name):
594
594
  format_amt = getattr(self, field_name)
595
595
  else:
@@ -610,8 +610,8 @@ class AbstractReportXslx(models.AbstractModel):
610
610
 
611
611
  def _get_report_complete_name(self, report, prefix, data=None):
612
612
  if report.company_id:
613
- suffix = " - {} - {}".format(
614
- report.company_id.name, report.company_id.currency_id.name
613
+ suffix = (
614
+ f" - {report.company_id.name} - {report.company_id.currency_id.name}"
615
615
  )
616
616
  return prefix + suffix
617
617
  return prefix
@@ -1,4 +1,4 @@
1
- # ?? 2016 Julien Coux (Camptocamp)
1
+ # © 2016 Julien Coux (Camptocamp)
2
2
  # Copyright 2020 ForgeFlow S.L. (https://www.forgeflow.com)
3
3
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
4
4
 
@@ -72,25 +72,21 @@ class AgedPartnerBalanceReport(models.AbstractModel):
72
72
  else:
73
73
  ag_pb_data[acc_id]["older"] += residual
74
74
  ag_pb_data[acc_id][prt_id]["older"] += residual
75
- if due_date:
76
- days_difference = abs((today - due_date).days)
77
- for index, line in enumerate(interval_lines):
78
- lower_limit = (
79
- 0 if not index else interval_lines[index - 1].inferior_limit
80
- )
81
- next_line = (
82
- interval_lines[index] if index < len(interval_lines) else None
83
- )
84
- interval_range = self._get_values_for_range_intervals(
85
- lower_limit, next_line.inferior_limit
86
- )
87
- if (
88
- days_difference in interval_range
89
- or days_difference == line.inferior_limit
90
- ):
91
- ag_pb_data[acc_id][line] += residual
92
- ag_pb_data[acc_id][prt_id][line] += residual
93
- break
75
+
76
+ days_difference = abs((today - due_date).days)
77
+ for index, line in enumerate(interval_lines):
78
+ lower_limit = 0 if not index else interval_lines[index - 1].inferior_limit
79
+ next_line = interval_lines[index] if index < len(interval_lines) else None
80
+ interval_range = self._get_values_for_range_intervals(
81
+ lower_limit, next_line.inferior_limit
82
+ )
83
+ if (
84
+ days_difference in interval_range
85
+ or days_difference == line.inferior_limit
86
+ ):
87
+ ag_pb_data[acc_id][line] += residual
88
+ ag_pb_data[acc_id][prt_id][line] += residual
89
+ break
94
90
  return ag_pb_data
95
91
 
96
92
  def _get_values_for_range_intervals(self, num1, num2):
@@ -1,9 +1,9 @@
1
1
  # Author: Julien Coux
2
2
  # Copyright 2016 Camptocamp SA
3
- # Copyright 2021 Tecnativa - Jo??o Marques
3
+ # Copyright 2021 Tecnativa - João Marques
4
4
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
5
5
 
6
- from odoo import _, models
6
+ from odoo import models
7
7
 
8
8
 
9
9
  class AgedPartnerBalanceXslx(models.AbstractModel):
@@ -13,7 +13,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
13
13
 
14
14
  def _get_report_name(self, report, data=False):
15
15
  company_id = data.get("company_id", False)
16
- report_name = _("Aged Partner Balance")
16
+ report_name = self.env._("Aged Partner Balance")
17
17
  if company_id:
18
18
  company = self.env["res.company"].browse(company_id)
19
19
  suffix = f" - {company.name} - {company.currency_id.name}"
@@ -22,16 +22,16 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
22
22
 
23
23
  def _get_report_columns_without_move_line_details(self, report, column_index):
24
24
  report_columns = {
25
- 0: {"header": _("Partner"), "field": "name", "width": 70},
25
+ 0: {"header": self.env._("Partner"), "field": "name", "width": 70},
26
26
  1: {
27
- "header": _("Residual"),
27
+ "header": self.env._("Residual"),
28
28
  "field": "residual",
29
29
  "field_footer_total": "residual",
30
30
  "type": "amount",
31
31
  "width": 14,
32
32
  },
33
33
  2: {
34
- "header": _("Current"),
34
+ "header": self.env._("Current"),
35
35
  "field": "current",
36
36
  "field_footer_total": "current",
37
37
  "field_footer_percent": "percent_current",
@@ -43,7 +43,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
43
43
  report_columns.update(
44
44
  {
45
45
  3: {
46
- "header": _("Age ≤ 30 d."),
46
+ "header": self.env._("Age ≤ 30 d."),
47
47
  "field": "30_days",
48
48
  "field_footer_total": "30_days",
49
49
  "field_footer_percent": "percent_30_days",
@@ -51,7 +51,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
51
51
  "width": 14,
52
52
  },
53
53
  4: {
54
- "header": _("Age ≤ 60 d."),
54
+ "header": self.env._("Age ≤ 60 d."),
55
55
  "field": "60_days",
56
56
  "field_footer_total": "60_days",
57
57
  "field_footer_percent": "percent_60_days",
@@ -59,7 +59,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
59
59
  "width": 14,
60
60
  },
61
61
  5: {
62
- "header": _("Age ≤ 90 d."),
62
+ "header": self.env._("Age ≤ 90 d."),
63
63
  "field": "90_days",
64
64
  "field_footer_total": "90_days",
65
65
  "field_footer_percent": "percent_90_days",
@@ -67,7 +67,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
67
67
  "width": 14,
68
68
  },
69
69
  6: {
70
- "header": _("Age ≤ 120 d."),
70
+ "header": self.env._("Age ≤ 120 d."),
71
71
  "field": "120_days",
72
72
  "field_footer_total": "120_days",
73
73
  "field_footer_percent": "percent_120_days",
@@ -75,7 +75,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
75
75
  "width": 14,
76
76
  },
77
77
  7: {
78
- "header": _("Older"),
78
+ "header": self.env._("Older"),
79
79
  "field": "older",
80
80
  "field_footer_total": "older",
81
81
  "field_footer_percent": "percent_older",
@@ -98,15 +98,15 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
98
98
 
99
99
  def _get_report_columns_with_move_line_details(self, report, column_index):
100
100
  report_columns = {
101
- 0: {"header": _("Date"), "field": "date", "width": 11},
102
- 1: {"header": _("Entry"), "field": "entry", "width": 18},
103
- 2: {"header": _("Journal"), "field": "journal", "width": 8},
104
- 3: {"header": _("Account"), "field": "account", "width": 9},
105
- 4: {"header": _("Partner"), "field": "partner", "width": 25},
106
- 5: {"header": _("Ref - Label"), "field": "ref_label", "width": 40},
107
- 6: {"header": _("Due date"), "field": "due_date", "width": 11},
101
+ 0: {"header": self.env._("Date"), "field": "date", "width": 11},
102
+ 1: {"header": self.env._("Entry"), "field": "entry", "width": 18},
103
+ 2: {"header": self.env._("Journal"), "field": "journal", "width": 8},
104
+ 3: {"header": self.env._("Account"), "field": "account", "width": 9},
105
+ 4: {"header": self.env._("Partner"), "field": "partner", "width": 25},
106
+ 5: {"header": self.env._("Ref - Label"), "field": "ref_label", "width": 40},
107
+ 6: {"header": self.env._("Due date"), "field": "due_date", "width": 11},
108
108
  7: {
109
- "header": _("Residual"),
109
+ "header": self.env._("Residual"),
110
110
  "field": "residual",
111
111
  "field_footer_total": "residual",
112
112
  "field_final_balance": "residual",
@@ -114,7 +114,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
114
114
  "width": 14,
115
115
  },
116
116
  8: {
117
- "header": _("Current"),
117
+ "header": self.env._("Current"),
118
118
  "field": "current",
119
119
  "field_footer_total": "current",
120
120
  "field_footer_percent": "percent_current",
@@ -127,7 +127,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
127
127
  report_columns.update(
128
128
  {
129
129
  9: {
130
- "header": _("Age ≤ 30 d."),
130
+ "header": self.env._("Age ≤ 30 d."),
131
131
  "field": "30_days",
132
132
  "field_footer_total": "30_days",
133
133
  "field_footer_percent": "percent_30_days",
@@ -136,7 +136,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
136
136
  "width": 14,
137
137
  },
138
138
  10: {
139
- "header": _("Age ≤ 60 d."),
139
+ "header": self.env._("Age ≤ 60 d."),
140
140
  "field": "60_days",
141
141
  "field_footer_total": "60_days",
142
142
  "field_footer_percent": "percent_60_days",
@@ -145,7 +145,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
145
145
  "width": 14,
146
146
  },
147
147
  11: {
148
- "header": _("Age ≤ 90 d."),
148
+ "header": self.env._("Age ≤ 90 d."),
149
149
  "field": "90_days",
150
150
  "field_footer_total": "90_days",
151
151
  "field_footer_percent": "percent_90_days",
@@ -154,7 +154,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
154
154
  "width": 14,
155
155
  },
156
156
  12: {
157
- "header": _("Age ≤ 120 d."),
157
+ "header": self.env._("Age ≤ 120 d."),
158
158
  "field": "120_days",
159
159
  "field_footer_total": "120_days",
160
160
  "field_footer_percent": "percent_120_days",
@@ -163,7 +163,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
163
163
  "width": 14,
164
164
  },
165
165
  13: {
166
- "header": _("Older"),
166
+ "header": self.env._("Older"),
167
167
  "field": "older",
168
168
  "field_footer_total": "older",
169
169
  "field_footer_percent": "percent_older",
@@ -194,12 +194,12 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
194
194
 
195
195
  def _get_report_filters(self, report):
196
196
  return [
197
- [_("Date at filter"), report.date_at.strftime("%d/%m/%Y")],
197
+ [self.env._("Date at filter"), report.date_at.strftime("%d/%m/%Y")],
198
198
  [
199
- _("Target moves filter"),
200
- _("All posted entries")
199
+ self.env._("Target moves filter"),
200
+ self.env._("All posted entries")
201
201
  if report.target_move == "posted"
202
- else _("All entries"),
202
+ else self.env._("All entries"),
203
203
  ],
204
204
  ]
205
205
 
@@ -321,7 +321,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
321
321
  for Aged Partner Balance
322
322
  """
323
323
  name = None
324
- label = _("Partner cumul aged balance")
324
+ label = self.env._("Partner cumul aged balance")
325
325
  return super().write_ending_balance_from_dict(
326
326
  my_object, name, label, report_data
327
327
  )
@@ -1,4 +1,4 @@
1
- # ?? 2016 Julien Coux (Camptocamp)
1
+ # © 2016 Julien Coux (Camptocamp)
2
2
  # Copyright 2020 ForgeFlow S.L. (https://www.forgeflow.com)
3
3
  # Copyright 2022 Tecnativa - V??ctor Mart??nez
4
4
  # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
@@ -17,14 +17,18 @@ class GeneralLedgerReport(models.AbstractModel):
17
17
  _inherit = "report.account_financial_report.abstract_report"
18
18
 
19
19
  def _get_analytic_data(self, account_ids):
20
- analytic_accounts = self.env["account.analytic.account"].browse(account_ids)
20
+ analytic_accounts = self.env["account.analytic.account"].search_fetch(
21
+ [("id", "in", account_ids)], ["name"]
22
+ )
21
23
  analytic_data = {}
22
24
  for account in analytic_accounts:
23
25
  analytic_data.update({account.id: {"name": account.name}})
24
26
  return analytic_data
25
27
 
26
28
  def _get_taxes_data(self, taxes_ids):
27
- taxes = self.env["account.tax"].browse(taxes_ids)
29
+ taxes = self.env["account.tax"].search_fetch(
30
+ [("id", "in", taxes_ids)], ["amount", "amount_type", "display_name"]
31
+ )
28
32
  taxes_data = {}
29
33
  for tax in taxes:
30
34
  taxes_data.update(
@@ -61,7 +65,7 @@ class GeneralLedgerReport(models.AbstractModel):
61
65
 
62
66
  def _get_acc_prt_accounts_ids(self, company_id, grouped_by):
63
67
  accounts_domain = [
64
- ("company_id", "=", company_id),
68
+ ("company_ids", "in", [company_id]),
65
69
  ] + self._get_account_type_domain(grouped_by)
66
70
  acc_prt_accounts = self.env["account.account"].search(accounts_domain)
67
71
  return acc_prt_accounts.ids
@@ -70,7 +74,7 @@ class GeneralLedgerReport(models.AbstractModel):
70
74
  self, account_ids, company_id, date_from, base_domain, grouped_by, acc_prt=False
71
75
  ):
72
76
  accounts_domain = [
73
- ("company_id", "=", company_id),
77
+ ("company_ids", "in", [company_id]),
74
78
  ("include_initial_balance", "=", True),
75
79
  ]
76
80
  if account_ids:
@@ -88,7 +92,7 @@ class GeneralLedgerReport(models.AbstractModel):
88
92
  self, account_ids, company_id, date_from, fy_start_date, base_domain
89
93
  ):
90
94
  accounts_domain = [
91
- ("company_id", "=", company_id),
95
+ ("company_ids", "in", [company_id]),
92
96
  ("include_initial_balance", "=", False),
93
97
  ]
94
98
  if account_ids:
@@ -118,7 +122,7 @@ class GeneralLedgerReport(models.AbstractModel):
118
122
  self, account_ids, company_id, fy_start_date, base_domain
119
123
  ):
120
124
  accounts_domain = [
121
- ("company_id", "=", company_id),
125
+ ("company_ids", "in", [company_id]),
122
126
  ("include_initial_balance", "=", False),
123
127
  ]
124
128
  if account_ids:
@@ -155,7 +159,13 @@ class GeneralLedgerReport(models.AbstractModel):
155
159
  return pl_initial_balance
156
160
 
157
161
  def _get_gl_initial_acc(
158
- self, account_ids, company_id, date_from, fy_start_date, base_domain, grouped_by
162
+ self,
163
+ account_ids,
164
+ company_id,
165
+ date_from,
166
+ fy_start_date,
167
+ base_domain,
168
+ grouped_by,
159
169
  ):
160
170
  initial_domain_bs = self._get_initial_balances_bs_ml_domain(
161
171
  account_ids, company_id, date_from, base_domain, grouped_by
@@ -182,7 +192,7 @@ class GeneralLedgerReport(models.AbstractModel):
182
192
  data[acc_id]["id"] = acc_id
183
193
  if grouped_by:
184
194
  data[acc_id][grouped_by] = False
185
- method = "_prepare_gen_ld_data_group_%s" % grouped_by
195
+ method = f"_prepare_gen_ld_data_group_{grouped_by}"
186
196
  if not hasattr(self, method):
187
197
  return data
188
198
  return getattr(self, method)(data, domain, grouped_by)
@@ -265,7 +275,7 @@ class GeneralLedgerReport(models.AbstractModel):
265
275
  unaffected_earnings_account = False
266
276
  base_domain = []
267
277
  if company_id:
268
- base_domain += [("company_id", "=", company_id)]
278
+ base_domain += [("company_id", "in", [company_id])]
269
279
  if partner_ids:
270
280
  base_domain += [("partner_id", "in", partner_ids)]
271
281
  if only_posted_moves:
@@ -423,7 +433,9 @@ class GeneralLedgerReport(models.AbstractModel):
423
433
  res.append({"id": item_id, "name": item_name})
424
434
  elif move_line["tax_ids"]:
425
435
  for tax_id in move_line["tax_ids"]:
426
- tax_item = self.env["account.tax"].browse(tax_id)
436
+ tax_item = self.env["account.tax"].search_fetch(
437
+ [("id", "=", tax_id)], ["name"]
438
+ )
427
439
  res.append({"id": tax_item.id, "name": tax_item.name})
428
440
  else:
429
441
  res.append({"id": 0, "name": "Missing Tax"})
@@ -517,9 +529,9 @@ class GeneralLedgerReport(models.AbstractModel):
517
529
  "balance"
518
530
  ]
519
531
  if foreign_currency:
520
- gen_ld_data[acc_id][item_id]["fin_bal"][
521
- "bal_curr"
522
- ] += move_line["amount_currency"]
532
+ gen_ld_data[acc_id][item_id]["fin_bal"]["bal_curr"] += (
533
+ move_line["amount_currency"]
534
+ )
523
535
  else:
524
536
  gen_ld_data[acc_id][ml_id] = self._get_move_line_data(move_line)
525
537
  gen_ld_data[acc_id]["fin_bal"]["credit"] += move_line["credit"]