[REF]Change possible_existing_customer field from boolean to many2one

This commit is contained in:
braisab
2021-08-19 10:09:35 +02:00
parent 079dbf8ec7
commit 0e4042150f
4 changed files with 32 additions and 43 deletions

View File

@@ -469,9 +469,11 @@ class PmsFolio(models.Model):
ondelete="restrict",
)
is_possible_existing_customer = fields.Boolean(
is_possible_existing_customer_id = fields.Many2one(
string="Possible existing customer",
compute="_compute_is_possible_existing_customer",
readonly=False,
store=True,
compute="_compute_is_possible_existing_customer_id",
)
add_possible_customer = fields.Boolean(string="Add possible Customer")
@@ -682,16 +684,7 @@ class PmsFolio(models.Model):
def _compute_partner_id(self):
for folio in self:
if folio.add_possible_customer:
partner = False
if folio.email:
partner = self.env["res.partner"].search(
[("email", "=", folio.email)]
)
elif folio.mobile:
partner = self.env["res.partner"].search(
[("mobile", "=", folio.mobile)]
)
folio.partner_id = partner.id
folio.partner_id = folio.is_possible_existing_customer_id.id
elif folio.reservation_type == "out":
folio.partner_id = False
elif folio.agency_id and folio.agency_id.invoice_to_agency:
@@ -1048,9 +1041,9 @@ class PmsFolio(models.Model):
self._apply_document_id(record)
@api.depends("email", "mobile")
def _compute_is_possible_existing_customer(self):
def _compute_is_possible_existing_customer_id(self):
for record in self:
self._apply_is_possible_existing_customer(record)
self._apply_is_possible_existing_customer_id(record)
def _search_invoice_ids(self, operator, value):
if operator == "in" and value:
@@ -1812,16 +1805,17 @@ class PmsFolio(models.Model):
record.email = False
@api.model
def _apply_is_possible_existing_customer(self, record):
partner = False
def _apply_is_possible_existing_customer_id(self, record):
if record.email and not record.partner_id:
partner = self.env["res.partner"].search([("email", "=", record.email)])
record.is_possible_existing_customer_id = (
self.env["res.partner"].search([("email", "=", record.email)]).id
)
elif record.mobile and not record.partner_id:
partner = self.env["res.partner"].search([("mobile", "=", record.mobile)])
if partner:
record.is_possible_existing_customer = True
record.is_possible_existing_customer_id = (
self.env["res.partner"].search([("mobile", "=", record.mobile)]).id
)
else:
record.is_possible_existing_customer = False
record.is_possible_existing_customer_id = False
@api.model
def _apply_document_id(self, record):

View File

@@ -635,9 +635,11 @@ class PmsReservation(models.Model):
ondelete="restrict",
)
is_possible_existing_customer = fields.Boolean(
is_possible_existing_customer_id = fields.Many2one(
string="Possible existing customer",
compute="_compute_is_possible_existing_customer",
readonly=False,
store=True,
compute="_compute_is_possible_existing_customer_id",
)
add_possible_customer = fields.Boolean(string="Add possible Customer")
@@ -829,16 +831,9 @@ class PmsReservation(models.Model):
for reservation in self:
if not reservation.partner_id:
if reservation.add_possible_customer:
partner = False
if reservation.email:
partner = self.env["res.partner"].search(
[("email", "=", reservation.email)]
)
elif reservation.mobile:
partner = self.env["res.partner"].search(
[("mobile", "=", reservation.mobile)]
)
reservation.partner_id = partner.id
reservation.partner_id = (
reservation.is_possible_existing_customer_id.id
)
elif reservation.reservation_type == "out":
reservation.partner_id = False
elif reservation.folio_id and reservation.folio_id.partner_id:
@@ -876,7 +871,7 @@ class PmsReservation(models.Model):
}
self.env["res.partner.id_number"].create(number_values)
reservation.partner_id = partner
else:
elif not reservation.partner_id:
reservation.partner_id = False
@api.depends("checkin", "checkout")
@@ -1363,7 +1358,7 @@ class PmsReservation(models.Model):
else:
record.partner_name = record.out_service_description
@api.depends("partner_id", "partner_id.email", "agency_id")
@api.depends("partner_id", "partner_id.email", "agency_id", "add_possible_customer")
def _compute_email(self):
for record in self:
self.env["pms.folio"]._apply_email(record)
@@ -1460,9 +1455,9 @@ class PmsReservation(models.Model):
self.env["pms.folio"]._apply_document_id(record)
@api.depends("email", "mobile")
def _compute_is_possible_existing_customer(self):
def _compute_is_possible_existing_customer_id(self):
for record in self:
self.env["pms.folio"]._apply_is_possible_existing_customer(record)
self.env["pms.folio"]._apply_is_possible_existing_customer_id(record)
def _search_allowed_checkin(self, operator, value):
if operator not in ("=",):

View File

@@ -59,13 +59,13 @@
class="alert alert-warning"
role="alert"
style="margin-bottom:0px;"
attrs="{'invisible': [('is_possible_existing_customer','=',False)]}"
attrs="{'invisible': [('is_possible_existing_customer_id','=',False)]}"
>
There is a customer with this email or mobile, do you want to add it to the reservation?
<field name="is_possible_existing_customer" invisible="1" />
<field name="is_possible_existing_customer_id" invisible="1" />
<field
name="add_possible_customer"
attrs="{'invisible': [('is_possible_existing_customer','=',False)]}"
attrs="{'invisible': [('is_possible_existing_customer_id','=',False)]}"
/>
</div>
<sheet>

View File

@@ -120,13 +120,13 @@
class="alert alert-warning"
role="alert"
style="margin-bottom:0px;"
attrs="{'invisible': [('is_possible_existing_customer','=',False)]}"
attrs="{'invisible': [('is_possible_existing_customer_id','=',False)]}"
>
There is a customer with this email or mobile, do you want to add it to the reservation?
<field name="is_possible_existing_customer" invisible="1" />
<field name="is_possible_existing_customer_id" invisible="1" />
<field
name="add_possible_customer"
attrs="{'invisible': [('is_possible_existing_customer','=',False)]}"
attrs="{'invisible': [('is_possible_existing_customer_id','=',False)]}"
/>
</div>
<sheet>