diff --git a/pms/models/pms_availability.py b/pms/models/pms_availability.py
index 26b89dee3..3088f4274 100644
--- a/pms/models/pms_availability.py
+++ b/pms/models/pms_availability.py
@@ -1,4 +1,4 @@
-# Copyright 2017 Alexandre Díaz
+# Copyright 2021 Dario Lodeiros
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py
index 3af259157..64a2eb32e 100644
--- a/pms/models/pms_checkin_partner.py
+++ b/pms/models/pms_checkin_partner.py
@@ -125,13 +125,25 @@ class PmsCheckinPartner(models.Model):
selection=[("male", "Male"), ("female", "Female"), ("other", "Other")],
)
nationality_id = fields.Many2one(
- string="Nationality ID",
+ string="Nationality",
help="host nationality",
readonly=False,
store=True,
- compute="_compute_nationality",
+ compute="_compute_nationality_id",
comodel_name="res.country",
)
+ # TODO: Use new partner contact "other or "private" with
+ # personal contact address complete??
+ # to avoid user country_id on companies contacts.
+ # View to res.partner state_id inherit
+ state_id = fields.Many2one(
+ string="State",
+ help="host state",
+ readonly=False,
+ store=True,
+ compute="_compute_state_id",
+ comodel_name="res.country.state",
+ )
firstname = fields.Char(
string="First Name",
help="host firstname",
@@ -273,13 +285,21 @@ class PmsCheckinPartner(models.Model):
record.gender = False
@api.depends("partner_id")
- def _compute_nationality(self):
+ def _compute_nationality_id(self):
for record in self:
if not record.nationality_id and record.partner_id.nationality_id:
record.nationality_id = record.partner_id.nationality_id
elif not record.nationality_id:
record.nationality_id = False
+ @api.depends("partner_id")
+ def _compute_state_id(self):
+ for record in self:
+ if not record.state_id and record.partner_id.state_id:
+ record.state_id = record.partner_id.state_id
+ elif not record.state_id:
+ record.state_id = False
+
@api.depends("reservation_id", "reservation_id.folio_id")
def _compute_folio_id(self):
for record in self.filtered("reservation_id"):
diff --git a/pms/models/res_partner.py b/pms/models/res_partner.py
index 764c2495d..e8291423c 100644
--- a/pms/models/res_partner.py
+++ b/pms/models/res_partner.py
@@ -88,6 +88,15 @@ class ResPartner(models.Model):
store=True,
compute="_compute_nationality_id",
)
+ # TODO: Use new partner contact "other or "private" with
+ # personal contact address complete??
+ # to avoid user country_id on companies contacts.
+ # view to checkin partner state_id field
+ state_id = fields.Many2one(
+ readonly=False,
+ store=True,
+ compute="_compute_state_id",
+ )
email = fields.Char(
readonly=False,
store=True,
@@ -172,6 +181,25 @@ class ResPartner(models.Model):
elif not record.nationality_id:
record.nationality_id = False
+ @api.depends("pms_checkin_partner_ids", "pms_checkin_partner_ids.state_id")
+ def _compute_state_id(self):
+ if hasattr(super(), "_compute_state_id"):
+ super()._compute_field()
+ for record in self:
+ if not record.state_id and record.pms_checkin_partner_ids:
+ state_id = list(
+ filter(
+ None,
+ set(record.pms_checkin_partner_ids.mapped("state_id")),
+ )
+ )
+ if len(state_id) == 1:
+ record.state_id = state_id[0]
+ else:
+ record.state_id = False
+ elif not record.state_id:
+ record.state_id = False
+
@api.depends(
"pms_checkin_partner_ids",
"pms_checkin_partner_ids.email",
diff --git a/pms/views/pms_checkin_partner_views.xml b/pms/views/pms_checkin_partner_views.xml
index 23be08f15..b65fafd0d 100644
--- a/pms/views/pms_checkin_partner_views.xml
+++ b/pms/views/pms_checkin_partner_views.xml
@@ -53,6 +53,7 @@
+
@@ -111,6 +112,7 @@
+
@@ -156,6 +158,7 @@
+
@@ -198,6 +201,7 @@
+
@@ -236,6 +240,7 @@
+
diff --git a/pms_l10n_es/models/pms_checkin_partner.py b/pms_l10n_es/models/pms_checkin_partner.py
deleted file mode 100644
index 195d4b744..000000000
--- a/pms_l10n_es/models/pms_checkin_partner.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from odoo import models
-
-
-class PmsCheckinPartner(models.Model):
- _inherit = "pms.checkin.partner"
diff --git a/pms_l10n_es/models/res_partner.py b/pms_l10n_es/models/res_partner.py
deleted file mode 100644
index 10c9c65fd..000000000
--- a/pms_l10n_es/models/res_partner.py
+++ /dev/null
@@ -1,5 +0,0 @@
-from odoo import models
-
-
-class ResPartner(models.Model):
- _inherit = "res.partner"