1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/account_avatax/models/product.py
2024-12-10 09:04:09 +07:00

58 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
class ProductAvataxCategory(models.Model):
_name = 'product.avatax.category'
_description = "Avatax Product Category"
_rec_name = 'code'
_rec_names_search = ['description', 'code']
code = fields.Char(required=True)
description = fields.Char(required=True)
@api.depends('code', 'description')
def _compute_display_name(self):
for category in self:
category.display_name = _('[%s] %s', category.code, (category.description or '')[:50])
class ProductCategory(models.Model):
_inherit = 'product.category'
avatax_category_id = fields.Many2one(
'product.avatax.category',
help="https://taxcode.avatax.avalara.com/",
)
def _get_avatax_category_id(self):
categ = self
while categ and not categ.avatax_category_id:
categ = categ.parent_id
return categ.avatax_category_id
class ProductTemplate(models.Model):
_inherit = 'product.template'
avatax_category_id = fields.Many2one(
'product.avatax.category',
help="https://taxcode.avatax.avalara.com/",
)
def _get_avatax_category_id(self):
return self.avatax_category_id or self.categ_id._get_avatax_category_id()
class ProductProduct(models.Model):
_inherit = 'product.product'
avatax_category_id = fields.Many2one(
'product.avatax.category',
help="https://taxcode.avatax.avalara.com/",
)
def _get_avatax_category_id(self):
return self.avatax_category_id or self.product_tmpl_id._get_avatax_category_id()