[IMP]pms: added new fields and their respective computes in pms_checkin_partner

This commit is contained in:
braisab
2022-03-09 20:25:46 +01:00
committed by Darío Lodeiros
parent dff9439f01
commit 286c26d245
2 changed files with 159 additions and 2 deletions

View File

@@ -76,6 +76,13 @@ class PmsCheckinPartner(models.Model):
store=True,
compute="_compute_mobile",
)
phone = fields.Char(
string="Phone",
help="Checkin Partner Phone",
readonly=False,
store=True,
compute="_compute_phone",
)
image_128 = fields.Image(
string="Image",
help="Checkin Partner Image, it corresponds with Partner Image associated",
@@ -148,6 +155,52 @@ class PmsCheckinPartner(models.Model):
compute="_compute_state_id",
comodel_name="res.country.state",
)
residence_street = fields.Char(
string="Street",
help="Street of the guest's residence",
readonly=False,
store=True,
compute="_compute_residence_street",
)
residence_street2 = fields.Char(
string="Street2",
help="Second street of the guest's residence",
readonly=False,
store=True,
compute="_compute_residence_street2",
)
residence_zip = fields.Char(
string="Zip",
help="Zip of the guest's residence",
readonly=False,
store=True,
compute="_compute_residence_zip",
change_default=True,
)
residence_city = fields.Char(
string="City",
help="City of the guest's residence",
readonly=False,
store=True,
compute="_compute_residence_city",
)
residence_country_id = fields.Many2one(
string="Country of residence",
help="Country of the guest's residence",
readonly=False,
store=True,
compute="_compute_residence_country_id",
comodel_name="res.country",
)
residence_state_id = fields.Many2one(
string="State of residence",
help="State of the guest's residence",
readonly=False,
store=True,
compute="_compute_residence_state_id",
comodel_name="res.country.state",
)
firstname = fields.Char(
string="First Name",
help="host firstname",
@@ -224,6 +277,10 @@ class PmsCheckinPartner(models.Model):
inverse_name="checkin_partner_possible_customer_id",
)
partner_relationship = fields.Char(
string="Partner relationship", help="Family relationship between travelers"
)
@api.depends("partner_id")
def _compute_document_number(self):
for record in self:
@@ -311,6 +368,57 @@ class PmsCheckinPartner(models.Model):
elif not record.state_id:
record.state_id = False
@api.depends("partner_id")
def _compute_residence_street(self):
for record in self:
if not record.residence_street and record.partner_id.residence_street:
record.residence_street = record.partner_id.residence_street
elif not record.residence_street:
record.residence_street = False
@api.depends("partner_id")
def _compute_residence_street2(self):
for record in self:
if not record.residence_street2 and record.partner_id.residence_street2:
record.residence_street2 = record.partner_id.residence_street2
elif not record.residence_street2:
record.residence_street2 = False
@api.depends("partner_id")
def _compute_residence_zip(self):
for record in self:
if not record.residence_zip and record.partner_id.residence_zip:
record.residence_zip = record.partner_id.residence_zip
elif not record.residence_zip:
record.residence_zip = False
@api.depends("partner_id")
def _compute_residence_city(self):
for record in self:
if not record.residence_city and record.partner_id.residence_city:
record.residence_city = record.partner_id.residence_city
elif not record.residence_city:
record.residence_city = False
@api.depends("partner_id")
def _compute_residence_country_id(self):
for record in self:
if (
not record.residence_country_id
and record.partner_id.residence_country_id
):
record.residence_country_id = record.partner_id.residence_country_id
elif not record.residence_country_id:
record.residence_country_id = False
@api.depends("partner_id")
def _compute_residence_state_id(self):
for record in self:
if not record.residence_state_id and record.partner_id.residence_state_id:
record.residence_state_id = record.partner_id.residence_state_id
elif not record.residence_state_id:
record.residence_state_id = False
@api.depends("reservation_id", "reservation_id.folio_id")
def _compute_folio_id(self):
for record in self.filtered("reservation_id"):
@@ -348,14 +456,26 @@ class PmsCheckinPartner(models.Model):
@api.depends("partner_id")
def _compute_email(self):
for record in self:
if not record.email or record.partner_id.email:
if not record.email and record.partner_id.email:
record.email = record.partner_id.email
elif not record.email:
record.email = False
@api.depends("partner_id")
def _compute_mobile(self):
for record in self:
if not record.mobile or record.partner_id.mobile:
if not record.mobile and record.partner_id.mobile:
record.mobile = record.partner_id.mobile
elif not record.mobile:
record.mobile = False
@api.depends("partner_id")
def _compute_phone(self):
for record in self:
if not record.phone and record.partner_id.phone:
record.phone = record.partner_id.phone
elif not record.phone:
record.phone = False
@api.depends("partner_id")
def _compute_document_id(self):

View File

@@ -70,8 +70,44 @@
<field name="state_id" />
<field name="email" />
<field name="mobile" />
<field name="phone" />
<field name="document_id" invisible="1" />
<field name="pms_property_id" invisible="1" />
<label for="residence_street" string="Residence Address" />
<div class="o_address_format">
<field
name="residence_street"
placeholder="Street..."
class="o_address_street"
/>
<field
name="residence_street2"
placeholder="Street 2..."
class="o_address_street"
/>
<field
name="residence_city"
placeholder="City"
class="o_address_city"
/>
<field
name="residence_state_id"
class="o_address_state"
placeholder="State"
options="{'no_open': True, 'no_quick_create': True}"
/>
<field
name="residence_zip"
placeholder="ZIP"
class="o_address_zip"
/>
<field
name="residence_country_id"
placeholder="Country"
class="o_address_country"
options='{"no_open": True, "no_create": True}'
/>
</div>
<field name="arrival" />
<field name="departure" />
</group>
@@ -79,6 +115,7 @@
<field name="reservation_id" />
<field name="folio_id" />
<field name="identifier" />
<field name="partner_relationship" />
<field name="pms_property_id" invisible="1" />
</group>
</group>