From 341717b75d6164d4cd77fe36e04c623c2fbb9857 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Wed, 13 Dec 2017 22:13:41 +0100 Subject: [PATCH 1/3] Port account_fiscal_position_payable_receivable to v10 --- .../__init__.py | 3 ++ .../__manifest__.py | 26 ++++++++++++++ .../account_fiscal_position.py | 35 +++++++++++++++++++ .../account_fiscal_position_view.xml | 23 ++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 account_fiscal_position_payable_receivable/__init__.py create mode 100644 account_fiscal_position_payable_receivable/__manifest__.py create mode 100644 account_fiscal_position_payable_receivable/account_fiscal_position.py create mode 100644 account_fiscal_position_payable_receivable/account_fiscal_position_view.xml diff --git a/account_fiscal_position_payable_receivable/__init__.py b/account_fiscal_position_payable_receivable/__init__.py new file mode 100644 index 0000000..235b7d4 --- /dev/null +++ b/account_fiscal_position_payable_receivable/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import account_fiscal_position diff --git a/account_fiscal_position_payable_receivable/__manifest__.py b/account_fiscal_position_payable_receivable/__manifest__.py new file mode 100644 index 0000000..b69daf9 --- /dev/null +++ b/account_fiscal_position_payable_receivable/__manifest__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# © 2016-2017 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Account Fiscal Position Payable Receivable', + 'version': '10.0.1.0.0', + 'category': 'Accounting & Finance', + 'license': 'AGPL-3', + 'summary': 'Configure payable/receivable accounts on fiscal positions', + 'description': """ +Account Fiscal Position Payable Receivable +========================================== + +This module allows to configure a special *Partner Receivable Account* and a special *Partner Payable Account* on fiscal positions. This is used in the onchange of the fiscal position of partners. + +This module has been written by Alexis de Lattre from Akretion . + """, + 'author': "Akretion", + 'website': 'http://www.akretion.com', + 'depends': ['account'], + 'data': [ + 'account_fiscal_position_view.xml', + ], + 'installable': True, +} diff --git a/account_fiscal_position_payable_receivable/account_fiscal_position.py b/account_fiscal_position_payable_receivable/account_fiscal_position.py new file mode 100644 index 0000000..7d1b915 --- /dev/null +++ b/account_fiscal_position_payable_receivable/account_fiscal_position.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# © 2016-2017 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, fields, api + + +class AccountFiscalPosition(models.Model): + _inherit = 'account.fiscal.position' + + receivable_account_id = fields.Many2one( + 'account.account', string='Partner Receivable Account', + company_dependent=True, domain=[('internal_type', '=', 'receivable')]) + payable_account_id = fields.Many2one( + 'account.account', string='Partner Payable Account', + company_dependent=True, domain=[('internal_type', '=', 'payable')]) + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + @api.onchange('property_account_position_id') + def fiscal_position_receivable_payable_change(self): + fp = self.property_account_position_id + ipo = self.env['ir.property'] + if fp.receivable_account_id: + self.property_account_receivable_id = fp.receivable_account_id + else: + self.property_account_receivable_id = ipo.get( + 'property_account_receivable_id', 'res.partner') + if fp.payable_account_id: + self.property_account_payable_id = fp.payable_account_id + else: + self.property_account_payable_id = ipo.get( + 'property_account_payable_id', 'res.partner') diff --git a/account_fiscal_position_payable_receivable/account_fiscal_position_view.xml b/account_fiscal_position_payable_receivable/account_fiscal_position_view.xml new file mode 100644 index 0000000..45321f1 --- /dev/null +++ b/account_fiscal_position_payable_receivable/account_fiscal_position_view.xml @@ -0,0 +1,23 @@ + + + + + + + + receivable_payable.fiscal_position_form + account.fiscal.position + + + + + + + + + + + From 7a6600431ca9cd69f06e3fee385f13d9c9732185 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Mon, 2 Nov 2020 11:32:38 +0100 Subject: [PATCH 2/3] Migrate account_fiscal_position_payable_receivable to v12 --- .../__init__.py | 4 +--- .../__manifest__.py | 5 ++--- .../models/__init__.py | 2 ++ .../models/account_fiscal_position.py | 15 +++++++++++++++ .../res_partner.py} | 14 +------------- .../{ => views}/account_fiscal_position_view.xml | 0 6 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 account_fiscal_position_payable_receivable/models/__init__.py create mode 100644 account_fiscal_position_payable_receivable/models/account_fiscal_position.py rename account_fiscal_position_payable_receivable/{account_fiscal_position.py => models/res_partner.py} (63%) rename account_fiscal_position_payable_receivable/{ => views}/account_fiscal_position_view.xml (100%) diff --git a/account_fiscal_position_payable_receivable/__init__.py b/account_fiscal_position_payable_receivable/__init__.py index 235b7d4..0650744 100644 --- a/account_fiscal_position_payable_receivable/__init__.py +++ b/account_fiscal_position_payable_receivable/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - -from . import account_fiscal_position +from . import models diff --git a/account_fiscal_position_payable_receivable/__manifest__.py b/account_fiscal_position_payable_receivable/__manifest__.py index b69daf9..3d5c007 100644 --- a/account_fiscal_position_payable_receivable/__manifest__.py +++ b/account_fiscal_position_payable_receivable/__manifest__.py @@ -1,10 +1,9 @@ -# -*- coding: utf-8 -*- # © 2016-2017 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { 'name': 'Account Fiscal Position Payable Receivable', - 'version': '10.0.1.0.0', + 'version': '12.0.1.0.0', 'category': 'Accounting & Finance', 'license': 'AGPL-3', 'summary': 'Configure payable/receivable accounts on fiscal positions', @@ -20,7 +19,7 @@ This module has been written by Alexis de Lattre from Akretion ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, fields + + +class AccountFiscalPosition(models.Model): + _inherit = 'account.fiscal.position' + + receivable_account_id = fields.Many2one( + 'account.account', string='Partner Receivable Account', + company_dependent=True, domain=[('internal_type', '=', 'receivable')]) + payable_account_id = fields.Many2one( + 'account.account', string='Partner Payable Account', + company_dependent=True, domain=[('internal_type', '=', 'payable')]) diff --git a/account_fiscal_position_payable_receivable/account_fiscal_position.py b/account_fiscal_position_payable_receivable/models/res_partner.py similarity index 63% rename from account_fiscal_position_payable_receivable/account_fiscal_position.py rename to account_fiscal_position_payable_receivable/models/res_partner.py index 7d1b915..b487c5a 100644 --- a/account_fiscal_position_payable_receivable/account_fiscal_position.py +++ b/account_fiscal_position_payable_receivable/models/res_partner.py @@ -1,19 +1,7 @@ -# -*- coding: utf-8 -*- # © 2016-2017 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models, fields, api - - -class AccountFiscalPosition(models.Model): - _inherit = 'account.fiscal.position' - - receivable_account_id = fields.Many2one( - 'account.account', string='Partner Receivable Account', - company_dependent=True, domain=[('internal_type', '=', 'receivable')]) - payable_account_id = fields.Many2one( - 'account.account', string='Partner Payable Account', - company_dependent=True, domain=[('internal_type', '=', 'payable')]) +from odoo import models, api class ResPartner(models.Model): diff --git a/account_fiscal_position_payable_receivable/account_fiscal_position_view.xml b/account_fiscal_position_payable_receivable/views/account_fiscal_position_view.xml similarity index 100% rename from account_fiscal_position_payable_receivable/account_fiscal_position_view.xml rename to account_fiscal_position_payable_receivable/views/account_fiscal_position_view.xml From 34ec0dfa277643bdb258bfe955bf83c7fa286bbe Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Mon, 2 Nov 2020 11:33:07 +0100 Subject: [PATCH 3/3] Black on account_fiscal_position_payable_receivable --- .../__manifest__.py | 24 +++++++++---------- .../models/account_fiscal_position.py | 16 +++++++++---- .../models/res_partner.py | 12 ++++++---- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/account_fiscal_position_payable_receivable/__manifest__.py b/account_fiscal_position_payable_receivable/__manifest__.py index 3d5c007..b2d6e06 100644 --- a/account_fiscal_position_payable_receivable/__manifest__.py +++ b/account_fiscal_position_payable_receivable/__manifest__.py @@ -2,12 +2,12 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - 'name': 'Account Fiscal Position Payable Receivable', - 'version': '12.0.1.0.0', - 'category': 'Accounting & Finance', - 'license': 'AGPL-3', - 'summary': 'Configure payable/receivable accounts on fiscal positions', - 'description': """ + "name": "Account Fiscal Position Payable Receivable", + "version": "12.0.1.0.0", + "category": "Accounting & Finance", + "license": "AGPL-3", + "summary": "Configure payable/receivable accounts on fiscal positions", + "description": """ Account Fiscal Position Payable Receivable ========================================== @@ -15,11 +15,9 @@ This module allows to configure a special *Partner Receivable Account* and a spe This module has been written by Alexis de Lattre from Akretion . """, - 'author': "Akretion", - 'website': 'http://www.akretion.com', - 'depends': ['account'], - 'data': [ - 'views/account_fiscal_position_view.xml', - ], - 'installable': True, + "author": "Akretion", + "website": "http://www.akretion.com", + "depends": ["account"], + "data": ["views/account_fiscal_position_view.xml"], + "installable": True, } diff --git a/account_fiscal_position_payable_receivable/models/account_fiscal_position.py b/account_fiscal_position_payable_receivable/models/account_fiscal_position.py index d8d0f89..eb549da 100644 --- a/account_fiscal_position_payable_receivable/models/account_fiscal_position.py +++ b/account_fiscal_position_payable_receivable/models/account_fiscal_position.py @@ -5,11 +5,17 @@ from odoo import models, fields class AccountFiscalPosition(models.Model): - _inherit = 'account.fiscal.position' + _inherit = "account.fiscal.position" receivable_account_id = fields.Many2one( - 'account.account', string='Partner Receivable Account', - company_dependent=True, domain=[('internal_type', '=', 'receivable')]) + "account.account", + string="Partner Receivable Account", + company_dependent=True, + domain=[("internal_type", "=", "receivable")], + ) payable_account_id = fields.Many2one( - 'account.account', string='Partner Payable Account', - company_dependent=True, domain=[('internal_type', '=', 'payable')]) + "account.account", + string="Partner Payable Account", + company_dependent=True, + domain=[("internal_type", "=", "payable")], + ) diff --git a/account_fiscal_position_payable_receivable/models/res_partner.py b/account_fiscal_position_payable_receivable/models/res_partner.py index b487c5a..e76a0e0 100644 --- a/account_fiscal_position_payable_receivable/models/res_partner.py +++ b/account_fiscal_position_payable_receivable/models/res_partner.py @@ -5,19 +5,21 @@ from odoo import models, api class ResPartner(models.Model): - _inherit = 'res.partner' + _inherit = "res.partner" - @api.onchange('property_account_position_id') + @api.onchange("property_account_position_id") def fiscal_position_receivable_payable_change(self): fp = self.property_account_position_id - ipo = self.env['ir.property'] + ipo = self.env["ir.property"] if fp.receivable_account_id: self.property_account_receivable_id = fp.receivable_account_id else: self.property_account_receivable_id = ipo.get( - 'property_account_receivable_id', 'res.partner') + "property_account_receivable_id", "res.partner" + ) if fp.payable_account_id: self.property_account_payable_id = fp.payable_account_id else: self.property_account_payable_id = ipo.get( - 'property_account_payable_id', 'res.partner') + "property_account_payable_id", "res.partner" + )