OCA/account-fiscal-rule

View on GitHub
account_fiscal_position_partner_type/models/res_partner.py

Summary

Maintainability
A
1 hr
Test Coverage
# -*- encoding: utf-8 -*-
# Copyright 2021 Valentin Vinagre <valentin.vinagre@sygel.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from openerp import api, fields, models


class ResPartner(models.Model):
    _inherit = "res.partner"

    fiscal_position_type = fields.Selection(
        selection="_selection_fiscal_position_type",
        string="Fiscal Position Type",
        default=lambda self: self._default_fiscal_position_type(),
    )

    def _selection_fiscal_position_type(self):
        field = "fiscal_position_type"
        return self.env["account.fiscal.position"].fields_get(allfields=[field])[field][
            "selection"
        ]

    @api.model
    def _default_fiscal_position_type(self):
        return self.env.user.company_id.default_fiscal_position_type

    @api.model
    def _commercial_fields(self):
        return super(ResPartner, self)._commercial_fields() + ["fiscal_position_type"]