Skip to content

Commit 5853bec

Browse files
[FIX] account_financial_report : make aged report configuration working with multi-company
1 parent 7a752b3 commit 5853bec

File tree

7 files changed

+49
-6
lines changed

7 files changed

+49
-6
lines changed

account_financial_report/__manifest__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
77
{
88
"name": "Account Financial Reports",
9-
"version": "16.0.1.11.0",
9+
"version": "16.0.1.12.0",
1010
"category": "Reporting",
1111
"summary": "OCA Financial Reports",
1212
"author": "Camptocamp,"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import json
2+
3+
from odoo import SUPERUSER_ID, api
4+
5+
6+
def migrate(cr, version):
7+
env = api.Environment(cr, SUPERUSER_ID, {})
8+
field = env["ir.model.fields"]._get(
9+
"aged.partner.balance.report.wizard", "age_partner_config_id"
10+
)
11+
default = env["ir.default"].search(
12+
[
13+
("field_id", "=", field.id),
14+
("user_id", "=", False),
15+
("company_id", "=", False),
16+
("condition", "=", False),
17+
],
18+
limit=1,
19+
)
20+
aged_config_id = json.loads(default.json_value) if default else None
21+
if aged_config_id:
22+
config = env["account.age.report.configuration"].browse(aged_config_id)
23+
if config.exists():
24+
company = config.company_id
25+
if company:
26+
company.write({"age_partner_config_id": config.id})
27+
default.unlink()

account_financial_report/models/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from . import res_company
12
from . import account_age_report_configuration
23
from . import account_group
34
from . import account
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
2+
3+
from odoo import fields, models
4+
5+
6+
class ResCompany(models.Model):
7+
_inherit = "res.company"
8+
9+
age_partner_config_id = fields.Many2one(
10+
comodel_name="account.age.report.configuration",
11+
string="Intervals configuration",
12+
)

account_financial_report/models/res_config_settings.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
class ResConfigSettings(models.TransientModel):
88
_inherit = "res.config.settings"
99

10-
default_age_partner_config_id = fields.Many2one(
10+
age_partner_config_id = fields.Many2one(
1111
"account.age.report.configuration",
12+
related="company_id.age_partner_config_id",
13+
readonly=False,
1214
string="Intervals configuration",
13-
default_model="aged.partner.balance.report.wizard",
1415
)

account_financial_report/view/res_config_settings_views.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
<div class="content-group">
2929
<div class="row mt16">
3030
<label
31-
for="default_age_partner_config_id"
31+
for="age_partner_config_id"
3232
class="col-lg-3 o_light_label"
3333
/>
3434
<field
35-
name="default_age_partner_config_id"
35+
name="age_partner_config_id"
3636
options="{'no_create_edit': True, 'no_open': True}"
3737
/>
3838
</div>

account_financial_report/wizard/aged_partner_balance_wizard.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ class AgedPartnerBalanceWizard(models.TransientModel):
4141
help="Ending account in a range",
4242
)
4343
age_partner_config_id = fields.Many2one(
44-
"account.age.report.configuration", string="Intervals configuration"
44+
"account.age.report.configuration",
45+
string="Intervals configuration",
46+
default=lambda self: self.env.company.age_partner_config_id.id,
4547
)
4648

4749
@api.onchange("account_code_from", "account_code_to")

0 commit comments

Comments
 (0)