mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[REF] pms and pms_l10n_es: refactor checkin_partner/res_partner fields
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
from . import res_partner
|
||||
#from . import res_partner
|
||||
from . import pms_checkin_partner
|
||||
from . import pms_property
|
||||
|
||||
@@ -4,140 +4,6 @@ from odoo import api, fields, models
|
||||
class PmsCheckinPartner(models.Model):
|
||||
_inherit = "pms.checkin.partner"
|
||||
|
||||
firstname = fields.Char(
|
||||
"First Name",
|
||||
compute="_compute_firstname",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
lastname = fields.Char(
|
||||
"Last Name",
|
||||
compute="_compute_lastname",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
lastname2 = fields.Char(
|
||||
"Second Last Name",
|
||||
compute="_compute_lastname2",
|
||||
store=True,
|
||||
readonly=False,
|
||||
required=True,
|
||||
)
|
||||
birthdate_date = fields.Date(
|
||||
"Birthdate",
|
||||
compute="_compute_birth_date",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
document_number = fields.Char(
|
||||
"Document Number",
|
||||
compute="_compute_document_number",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
document_type = fields.Selection(
|
||||
[
|
||||
("D", "DNI"),
|
||||
("P", "Passport"),
|
||||
("C", "Driving License"),
|
||||
("I", "Identification Document"),
|
||||
("N", "Spanish residence permit"),
|
||||
("X", "European residence permit"),
|
||||
],
|
||||
string="Document Type",
|
||||
help="Select a valid document type",
|
||||
compute="_compute_document_type",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
document_expedition_date = fields.Date(
|
||||
"Expedition Date",
|
||||
compute="_compute_document_expedition_date",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
gender = fields.Selection(
|
||||
[("male", "Male"), ("female", "Female"), ("other", "Other")],
|
||||
string="Gender",
|
||||
compute="_compute_gender",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
nationality_id = fields.Many2one(
|
||||
string="Nationality ID",
|
||||
compute="_compute_nationality",
|
||||
comodel_name="res.country",
|
||||
store=True,
|
||||
readonly=False,
|
||||
)
|
||||
|
||||
@api.depends("partner_id", "partner_id.firstname")
|
||||
def _compute_firstname(self):
|
||||
for record in self:
|
||||
if not record.firstname:
|
||||
record.firstname = record.partner_id.firstname
|
||||
|
||||
@api.depends("partner_id", "partner_id.lastname")
|
||||
def _compute_lastname(self):
|
||||
for record in self:
|
||||
if not record.lastname:
|
||||
record.lastname = record.partner_id.lastname
|
||||
|
||||
@api.depends("partner_id", "partner_id.lastname2")
|
||||
def _compute_lastname2(self):
|
||||
for record in self:
|
||||
if not record.lastname2:
|
||||
record.lastname2 = record.partner_id.lastname2
|
||||
|
||||
@api.depends("partner_id", "partner_id.birthdate_date")
|
||||
def _compute_birth_date(self):
|
||||
for record in self:
|
||||
if not record.birthdate_date:
|
||||
record.birthdate_date = record.partner_id.birthdate_date
|
||||
|
||||
@api.depends("partner_id", "partner_id.document_number")
|
||||
def _compute_document_number(self):
|
||||
for record in self:
|
||||
if not record.document_number:
|
||||
record.document_number = record.partner_id.document_number
|
||||
|
||||
@api.depends("partner_id", "partner_id.document_type")
|
||||
def _compute_document_type(self):
|
||||
for record in self:
|
||||
if not record.document_type:
|
||||
record.document_type = record.partner_id.document_type
|
||||
|
||||
@api.depends("partner_id", "partner_id.document_expedition_date")
|
||||
def _compute_document_expedition_date(self):
|
||||
for record in self:
|
||||
if not record.document_expedition_date:
|
||||
record.document_expedition_date = (
|
||||
record.partner_id.document_expedition_date
|
||||
)
|
||||
|
||||
@api.depends("partner_id", "partner_id.gender")
|
||||
def _compute_gender(self):
|
||||
for record in self:
|
||||
if not record.gender:
|
||||
record.gender = record.partner_id.gender
|
||||
|
||||
@api.depends("partner_id", "partner_id.lastname")
|
||||
def _compute_nationality(self):
|
||||
for record in self:
|
||||
if not record.nationality_id:
|
||||
record.nationality_id = record.partner_id.nationality_id
|
||||
|
||||
@api.model
|
||||
def _checkin_mandatory_fields(self, depends=False):
|
||||
mandatory_fields = super(PmsCheckinPartner, self)._checkin_mandatory_fields(
|
||||
depends
|
||||
)
|
||||
mandatory_fields.extend(
|
||||
[
|
||||
"birthdate_date",
|
||||
"document_number",
|
||||
"document_type",
|
||||
"document_expedition_date",
|
||||
"gender",
|
||||
]
|
||||
)
|
||||
return mandatory_fields
|
||||
|
||||
@@ -3,47 +3,3 @@ from odoo import _, api, fields, models
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = "res.partner"
|
||||
|
||||
document_type = fields.Selection(
|
||||
[
|
||||
("D", "DNI"),
|
||||
("P", "Passport"),
|
||||
("C", "Driving License"),
|
||||
("I", "Identification Document"),
|
||||
("N", "Spanish residence permit"),
|
||||
("X", "European residence permit"),
|
||||
],
|
||||
help="Select a valid document type",
|
||||
string="Doc. type",
|
||||
)
|
||||
document_number = fields.Char(
|
||||
string="Document number",
|
||||
)
|
||||
document_expedition_date = fields.Date(string="Document expedition date")
|
||||
|
||||
@api.constrains("document_number", "document_type")
|
||||
def _check_document(self):
|
||||
for record in self.filtered("document_number"):
|
||||
if not record.document_type:
|
||||
raise models.ValidationError(_("Document Type field are mandatory"))
|
||||
partner = self.search(
|
||||
[
|
||||
("document_number", "=", record.document_number),
|
||||
("document_type", "=", record.document_type),
|
||||
("id", "!=", record.id),
|
||||
]
|
||||
)
|
||||
if partner:
|
||||
raise models.ValidationError(
|
||||
_(
|
||||
"Document Number Partner %s already exist (%s)",
|
||||
record.document_number,
|
||||
partner.name,
|
||||
)
|
||||
)
|
||||
|
||||
@api.model
|
||||
def _get_key_fields(self):
|
||||
key_fields = super(ResPartner, self)._get_key_fields()
|
||||
key_fields.extend(["document_number"])
|
||||
return key_fields
|
||||
|
||||
Reference in New Issue
Block a user