mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP]14.0-pms: priority in category_id and fix document_country constrains
This commit is contained in:
@@ -68,11 +68,13 @@
|
||||
<record id="document_type_passport" model="res.partner.id_category">
|
||||
<field name="name">Passport</field>
|
||||
<field name="code">P</field>
|
||||
<field name="priority">20</field>
|
||||
<!-- <field name="has_unique_numbers">True</field>-->
|
||||
</record>
|
||||
<record id="document_type_driving_license" model="res.partner.id_category">
|
||||
<field name="name">Driving License</field>
|
||||
<field name="code">C</field>
|
||||
<field name="priority">50</field>
|
||||
<field name="validation_code">
|
||||
letters = {
|
||||
0: "T",
|
||||
@@ -117,26 +119,14 @@ else:
|
||||
>
|
||||
<field name="name">Identification Document</field>
|
||||
<field name="code">I</field>
|
||||
<field name="priority">60</field>
|
||||
<!-- <field name="has_unique_numbers">True</field>-->
|
||||
</record>
|
||||
<record id="document_type_spanish_residence" model="res.partner.id_category">
|
||||
<field name="name">Spanish Residence permit</field>
|
||||
<field name="code">N</field>
|
||||
<field name="validation_code">
|
||||
permit_first_letter=id_number.name[0:1]
|
||||
permit_last_letter = id_number.name[
|
||||
len(id_number.name) - 1 : len(id_number.name)
|
||||
]
|
||||
if (permit_first_letter.upper() in ['X','Y']) and id_number.name[1:8].isdigit() and not permit_last_letter.isdigit():
|
||||
failed = False
|
||||
else:
|
||||
failed = True
|
||||
</field>
|
||||
<!-- <field name="has_unique_numbers">True</field>-->
|
||||
</record>
|
||||
|
||||
<record id="document_type_european_residence" model="res.partner.id_category">
|
||||
<field name="name">European Residence permit</field>
|
||||
<field name="code">X</field>
|
||||
<field name="priority">40</field>
|
||||
<field name="validation_code">
|
||||
permit_first_letter=id_number.name[0:1]
|
||||
permit_last_letter = id_number.name[
|
||||
|
||||
@@ -461,7 +461,7 @@ class ResPartner(models.Model):
|
||||
if last_update_lastname2 and last_update_lastname2[0].lastname2:
|
||||
record.lastname2 = last_update_lastname2[0].lastname2
|
||||
|
||||
@api.depends("residence_country_id")
|
||||
@api.depends("id_numbers")
|
||||
def _compute_country_id(self):
|
||||
if hasattr(super(), "_compute_country_id"):
|
||||
super()._compute_country_id()
|
||||
@@ -469,9 +469,10 @@ class ResPartner(models.Model):
|
||||
if (
|
||||
not record.parent_id
|
||||
and not record.country_id
|
||||
and record.residence_country_id
|
||||
and record.id_numbers
|
||||
and record.id_numbers.country_id
|
||||
):
|
||||
record.country_id = record.residence_country_id
|
||||
record.country_id = record.id_numbers[0].country_id
|
||||
|
||||
@api.depends("residence_state_id")
|
||||
def _compute_state_id(self):
|
||||
|
||||
15
pms/models/res_partner_id_category.py
Normal file
15
pms/models/res_partner_id_category.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from odoo import fields, models
|
||||
|
||||
|
||||
class ResPartnerIdCategory(models.Model):
|
||||
_inherit = "res.partner.id_category"
|
||||
|
||||
country_ids = fields.Many2many(
|
||||
comodel_name="res.country",
|
||||
string="Countries",
|
||||
)
|
||||
|
||||
priority = fields.Integer(
|
||||
string="Priority",
|
||||
default=100,
|
||||
)
|
||||
Reference in New Issue
Block a user