mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[DEL]pms: avoid relations between resvartion/folios and document numbers
This commit is contained in:
@@ -522,28 +522,7 @@ class PmsFolio(models.Model):
|
||||
help="The payment communication of this sale order.",
|
||||
copy=False,
|
||||
)
|
||||
document_number = fields.Char(
|
||||
string="Document Number",
|
||||
readonly=False,
|
||||
store=True,
|
||||
compute="_compute_document_number",
|
||||
)
|
||||
document_type = fields.Many2one(
|
||||
string="Document Type",
|
||||
readonly=False,
|
||||
store=True,
|
||||
comodel_name="res.partner.id_category",
|
||||
compute="_compute_document_type",
|
||||
)
|
||||
|
||||
document_id = fields.Many2one(
|
||||
string="Document",
|
||||
readonly=False,
|
||||
store=True,
|
||||
comodel_name="res.partner.id_number",
|
||||
compute="_compute_document_id",
|
||||
ondelete="restrict",
|
||||
)
|
||||
possible_existing_customer_ids = fields.One2many(
|
||||
string="Possible existing customer",
|
||||
compute="_compute_possible_existing_customer_ids",
|
||||
@@ -891,8 +870,6 @@ class PmsFolio(models.Model):
|
||||
@api.depends(
|
||||
"agency_id",
|
||||
"reservation_type",
|
||||
"document_number",
|
||||
"document_type",
|
||||
"partner_name",
|
||||
"email",
|
||||
"mobile",
|
||||
@@ -902,9 +879,7 @@ class PmsFolio(models.Model):
|
||||
if folio.reservation_type == "out":
|
||||
folio.partner_id = False
|
||||
elif folio.agency_id and folio.invoice_to_agency:
|
||||
folio.partner_id = folio.agency_id.id
|
||||
elif folio.document_number and folio.document_type:
|
||||
self._create_partner(folio)
|
||||
folio.partner_id = folio.agency_id
|
||||
elif not folio.partner_id:
|
||||
folio.partner_id = False
|
||||
|
||||
@@ -1356,21 +1331,6 @@ class PmsFolio(models.Model):
|
||||
)
|
||||
record.checkin_partner_pending_count = sum(mapped_checkin_partner_count)
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_document_number(self):
|
||||
for record in self:
|
||||
self._apply_document_number(record)
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_document_type(self):
|
||||
for record in self:
|
||||
self._apply_document_type(record)
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_document_id(self):
|
||||
for record in self:
|
||||
self._apply_document_id(record)
|
||||
|
||||
@api.depends("email", "mobile", "partner_name")
|
||||
def _compute_possible_existing_customer_ids(self):
|
||||
for record in self:
|
||||
@@ -2673,73 +2633,6 @@ class PmsFolio(models.Model):
|
||||
)
|
||||
return possible_customer
|
||||
|
||||
@api.model
|
||||
def _apply_document_id(self, record):
|
||||
if record.partner_id:
|
||||
if (
|
||||
not record.document_id
|
||||
and record.document_number
|
||||
and record.document_type
|
||||
):
|
||||
id_number_id = self.env["res.partner.id_number"].search(
|
||||
[
|
||||
("partner_id", "=", record.partner_id.id),
|
||||
("name", "=", record.document_number),
|
||||
("category_id", "=", record.document_type.id),
|
||||
]
|
||||
)
|
||||
if not id_number_id:
|
||||
id_number_id = self.env["res.partner.id_number"].create(
|
||||
{
|
||||
"partner_id": record.partner_id.id,
|
||||
"name": record.document_number,
|
||||
"category_id": record.document_type.id,
|
||||
}
|
||||
)
|
||||
|
||||
record.document_id = id_number_id
|
||||
else:
|
||||
record.document_id = False
|
||||
|
||||
@api.model
|
||||
def _apply_document_number(self, record):
|
||||
if record.partner_id and record.partner_id.id_numbers:
|
||||
if not record.document_number:
|
||||
if record.partner_id.id_numbers:
|
||||
record.document_number = record.partner_id.id_numbers[0].name
|
||||
|
||||
@api.model
|
||||
def _apply_document_type(self, record):
|
||||
if record.partner_id and record.partner_id.id_numbers:
|
||||
if not record.document_type:
|
||||
if record.partner_id.id_numbers:
|
||||
record.document_type = record.partner_id.id_numbers[0].category_id
|
||||
|
||||
@api.model
|
||||
def _create_partner(self, record):
|
||||
number = self.env["res.partner.id_number"].search(
|
||||
[
|
||||
("name", "=", record.document_number),
|
||||
("category_id", "=", record.document_type.id),
|
||||
]
|
||||
)
|
||||
partner = self.env["res.partner"].search([("id", "=", number.partner_id.id)])
|
||||
if not partner:
|
||||
if record.partner_name and record.document_number and record.document_type:
|
||||
partner_values = {
|
||||
"name": record.partner_name,
|
||||
"email": record.email,
|
||||
"mobile": record.mobile,
|
||||
}
|
||||
partner = self.env["res.partner"].create(partner_values)
|
||||
number_values = {
|
||||
"partner_id": partner.id,
|
||||
"name": record.document_number,
|
||||
"category_id": record.document_type.id,
|
||||
}
|
||||
self.env["res.partner.id_number"].create(number_values)
|
||||
record.partner_id = partner
|
||||
|
||||
def _create_payment_transaction(self, vals):
|
||||
# Ensure the currencies are the same.
|
||||
currency = self[0].currency_id
|
||||
|
||||
@@ -659,29 +659,6 @@ class PmsReservation(models.Model):
|
||||
store=True,
|
||||
)
|
||||
|
||||
document_number = fields.Char(
|
||||
string="Document Number",
|
||||
readonly=False,
|
||||
store=True,
|
||||
compute="_compute_document_number",
|
||||
)
|
||||
document_type = fields.Many2one(
|
||||
string="Document Type",
|
||||
readonly=False,
|
||||
store=True,
|
||||
comodel_name="res.partner.id_category",
|
||||
compute="_compute_document_type",
|
||||
)
|
||||
|
||||
document_id = fields.Many2one(
|
||||
string="Document",
|
||||
readonly=False,
|
||||
store=True,
|
||||
comodel_name="res.partner.id_number",
|
||||
compute="_compute_document_id",
|
||||
ondelete="restrict",
|
||||
)
|
||||
|
||||
possible_existing_customer_ids = fields.One2many(
|
||||
string="Possible existing customer",
|
||||
compute="_compute_possible_existing_customer_ids",
|
||||
@@ -936,8 +913,6 @@ class PmsReservation(models.Model):
|
||||
"reservation_type",
|
||||
"folio_id",
|
||||
"folio_id.agency_id",
|
||||
"document_number",
|
||||
"document_type",
|
||||
"partner_name",
|
||||
"email",
|
||||
"mobile",
|
||||
@@ -949,8 +924,6 @@ class PmsReservation(models.Model):
|
||||
reservation.partner_id = False
|
||||
elif reservation.folio_id and reservation.folio_id.partner_id:
|
||||
reservation.partner_id = reservation.folio_id.partner_id
|
||||
elif reservation.document_number and reservation.document_type:
|
||||
self.env["pms.folio"]._create_partner(reservation)
|
||||
elif not reservation.partner_id:
|
||||
reservation.partner_id = False
|
||||
|
||||
@@ -1570,21 +1543,6 @@ class PmsReservation(models.Model):
|
||||
else:
|
||||
record.reservation_type = "normal"
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_document_number(self):
|
||||
for record in self:
|
||||
self.env["pms.folio"]._apply_document_number(record)
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_document_type(self):
|
||||
for record in self:
|
||||
self.env["pms.folio"]._apply_document_type(record)
|
||||
|
||||
@api.depends("partner_id")
|
||||
def _compute_document_id(self):
|
||||
for record in self:
|
||||
self.env["pms.folio"]._apply_document_id(record)
|
||||
|
||||
@api.depends("email", "mobile", "partner_name")
|
||||
def _compute_possible_existing_customer_ids(self):
|
||||
for record in self:
|
||||
@@ -2123,7 +2081,7 @@ class PmsReservation(models.Model):
|
||||
vals.get("reservation_line_ids")
|
||||
and any(
|
||||
[
|
||||
("date" in line.get(2) or "price" in line.get(2))
|
||||
("date" in line[2] or "price" in line[2])
|
||||
for line in vals.get("reservation_line_ids")
|
||||
]
|
||||
)
|
||||
|
||||
@@ -281,16 +281,9 @@
|
||||
</group>
|
||||
<group>
|
||||
<group string="General Info" name="contact_details">
|
||||
<field name="days_to_checkin" />
|
||||
<field name="days_to_checkout" />
|
||||
<field
|
||||
name="document_type"
|
||||
attrs="{'invisible':[('reservation_type','in',('out'))]}"
|
||||
/>
|
||||
<field
|
||||
name="document_number"
|
||||
attrs="{'invisible':[('reservation_type','in',('out'))]}"
|
||||
/>
|
||||
<field name="days_to_checkin" invisible="1" />
|
||||
<field name="days_to_checkout" invisible="1" />
|
||||
<field name="partner_id" />
|
||||
<field
|
||||
name="partner_name"
|
||||
placeholder="Guest"
|
||||
@@ -363,7 +356,6 @@
|
||||
|
||||
</group>
|
||||
<group invisible="1">
|
||||
<field name="partner_id" invisible="1" />
|
||||
<field name="payment_state" invisible="1" force_save="1" />
|
||||
<field name="move_ids" invisible="1" />
|
||||
<field name="invoice_status" invisible="1" />
|
||||
@@ -757,7 +749,6 @@
|
||||
'|', '|', '|', '|',
|
||||
('name', 'ilike', self),
|
||||
('partner_name', 'ilike', self),
|
||||
('document_number', 'ilike', self),
|
||||
('partner_id.vat', 'ilike', self),
|
||||
('mobile', 'ilike', self),
|
||||
]"
|
||||
|
||||
@@ -364,14 +364,6 @@
|
||||
name="partner_id"
|
||||
attrs="{'invisible':[('reservation_type','in',('out'))]}"
|
||||
/>
|
||||
<field
|
||||
name="document_type"
|
||||
attrs="{'invisible':[('reservation_type','in',('out'))]}"
|
||||
/>
|
||||
<field
|
||||
name="document_number"
|
||||
attrs="{'invisible':[('reservation_type','in',('out'))]}"
|
||||
/>
|
||||
<field
|
||||
name="partner_name"
|
||||
placeholder="Guest"
|
||||
@@ -903,7 +895,6 @@
|
||||
'|', '|', '|', '|',
|
||||
('name', 'ilike', self),
|
||||
('partner_name', 'ilike', self),
|
||||
('document_number', 'ilike', self),
|
||||
('partner_id.vat', 'ilike', self),
|
||||
('mobile', 'ilike', self),
|
||||
]"
|
||||
|
||||
Reference in New Issue
Block a user