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",
|
"views/precheckin_portal_templates.xml",
|
||||||
"wizards/wizard_massive_changes.xml",
|
"wizards/wizard_massive_changes.xml",
|
||||||
"wizards/wizard_advanced_filters.xml",
|
"wizards/wizard_advanced_filters.xml",
|
||||||
|
"views/res_partner_id_category.xml",
|
||||||
"views/payment_transaction_views.xml",
|
"views/payment_transaction_views.xml",
|
||||||
"views/account_move_line_views.xml",
|
"views/account_move_line_views.xml",
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -46,3 +46,4 @@ from . import pms_availability
|
|||||||
from . import res_partner_id_number
|
from . import res_partner_id_number
|
||||||
from . import pms_automated_mails
|
from . import pms_automated_mails
|
||||||
from . import payment_transaction
|
from . import payment_transaction
|
||||||
|
from . import res_partner_id_category
|
||||||
|
|||||||
@@ -198,7 +198,11 @@ class ResPartner(models.Model):
|
|||||||
vat_document_types = [
|
vat_document_types = [
|
||||||
("vat", _("VAT")),
|
("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:
|
for doc_type in document_categories:
|
||||||
vat_document_types.append((doc_type.name, doc_type.name))
|
vat_document_types.append((doc_type.name, doc_type.name))
|
||||||
return vat_document_types
|
return vat_document_types
|
||||||
@@ -444,7 +448,6 @@ class ResPartner(models.Model):
|
|||||||
def _compute_vat_document_type(self):
|
def _compute_vat_document_type(self):
|
||||||
self.vat_document_type = False
|
self.vat_document_type = False
|
||||||
for record in self.filtered("vat"):
|
for record in self.filtered("vat"):
|
||||||
record.vat_document_type = "vat"
|
|
||||||
document = record.id_numbers.filtered("vat_syncronized")
|
document = record.id_numbers.filtered("vat_syncronized")
|
||||||
if document:
|
if document:
|
||||||
if len(document) > 1:
|
if len(document) > 1:
|
||||||
@@ -452,7 +455,13 @@ class ResPartner(models.Model):
|
|||||||
_("There is more than one document with vat syncronized")
|
_("There is more than one document with vat syncronized")
|
||||||
)
|
)
|
||||||
if record.vat:
|
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):
|
def action_partner_reservations(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
@@ -624,7 +633,7 @@ class ResPartner(models.Model):
|
|||||||
document ids like passport, etc...
|
document ids like passport, etc...
|
||||||
"""
|
"""
|
||||||
for partner in self:
|
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
|
continue
|
||||||
else:
|
else:
|
||||||
super(ResPartner, partner).check_vat()
|
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>
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
<record id="document_type_dni" model="res.partner.id_category">
|
<record id="document_type_dni" model="res.partner.id_category">
|
||||||
<field name="name">DNI</field>
|
<field name="name">DNI</field>
|
||||||
<field name="code">D</field>
|
<field name="code">D</field>
|
||||||
|
<field name="is_vat_equivalent">True</field>
|
||||||
<field name="validation_code">
|
<field name="validation_code">
|
||||||
letters = {
|
letters = {
|
||||||
0: "T",
|
0: "T",
|
||||||
|
|||||||
Reference in New Issue
Block a user