mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]pms: add document type vat equivalent field
This commit is contained in:
@@ -90,6 +90,7 @@
|
||||
"views/precheckin_portal_templates.xml",
|
||||
"wizards/wizard_massive_changes.xml",
|
||||
"wizards/wizard_advanced_filters.xml",
|
||||
"views/res_partner_id_category.xml",
|
||||
"views/payment_transaction_views.xml",
|
||||
"views/account_move_line_views.xml",
|
||||
],
|
||||
|
||||
@@ -46,3 +46,4 @@ from . import pms_availability
|
||||
from . import res_partner_id_number
|
||||
from . import pms_automated_mails
|
||||
from . import payment_transaction
|
||||
from . import res_partner_id_category
|
||||
|
||||
@@ -198,7 +198,11 @@ class ResPartner(models.Model):
|
||||
vat_document_types = [
|
||||
("vat", _("VAT")),
|
||||
]
|
||||
document_categories = self.env["res.partner.id_category"].search([])
|
||||
document_categories = self.env["res.partner.id_category"].search(
|
||||
[
|
||||
("is_vat_equivalent", "=", False),
|
||||
]
|
||||
)
|
||||
for doc_type in document_categories:
|
||||
vat_document_types.append((doc_type.name, doc_type.name))
|
||||
return vat_document_types
|
||||
@@ -444,7 +448,6 @@ class ResPartner(models.Model):
|
||||
def _compute_vat_document_type(self):
|
||||
self.vat_document_type = False
|
||||
for record in self.filtered("vat"):
|
||||
record.vat_document_type = "vat"
|
||||
document = record.id_numbers.filtered("vat_syncronized")
|
||||
if document:
|
||||
if len(document) > 1:
|
||||
@@ -452,7 +455,13 @@ class ResPartner(models.Model):
|
||||
_("There is more than one document with vat syncronized")
|
||||
)
|
||||
if record.vat:
|
||||
record.vat_document_type = document.category_id.name
|
||||
record.vat_document_type = (
|
||||
document.category_id.name
|
||||
if not document.category_id.is_vat_equivalent
|
||||
else "vat"
|
||||
)
|
||||
else:
|
||||
record.vat_document_type = "vat"
|
||||
|
||||
def action_partner_reservations(self):
|
||||
self.ensure_one()
|
||||
@@ -624,7 +633,7 @@ class ResPartner(models.Model):
|
||||
document ids like passport, etc...
|
||||
"""
|
||||
for partner in self:
|
||||
if partner.vat_document_type and partner.vat_document_type != "vat":
|
||||
if not partner.vat_document_type or partner.vat_document_type != "vat":
|
||||
continue
|
||||
else:
|
||||
super(ResPartner, partner).check_vat()
|
||||
|
||||
11
pms/models/res_partner_id_category.py
Normal file
11
pms/models/res_partner_id_category.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResPartnerIdCategory(models.Model):
|
||||
_inherit = "res.partner.id_category"
|
||||
|
||||
is_vat_equivalent = fields.Boolean(
|
||||
string="Is VAT Equivalent",
|
||||
help="If true, this document type is check by vat number",
|
||||
default=False,
|
||||
)
|
||||
15
pms/views/res_partner_id_category.xml
Normal file
15
pms/views/res_partner_id_category.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="view_partner_id_category_form" model="ir.ui.view">
|
||||
<field name="model">res.partner.id_category</field>
|
||||
<field
|
||||
name="inherit_id"
|
||||
ref="partner_identification.view_partner_id_category_form"
|
||||
/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='code']" position="after">
|
||||
<field name="is_vat_equivalent" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user