From b6603a6aebee6e18ff6525c84c041907df2681b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dar=C3=ADo=20Lodeiros?= Date: Sun, 5 Feb 2023 11:16:12 +0100 Subject: [PATCH] [DEL]pms: avoid relations between resvartion/folios and document numbers --- pms/models/pms_folio.py | 109 +--------------------------- pms/models/pms_reservation.py | 44 +---------- pms/views/pms_folio_views.xml | 15 +--- pms/views/pms_reservation_views.xml | 9 --- 4 files changed, 5 insertions(+), 172 deletions(-) diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index 609fa21f8..59826213d 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -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 diff --git a/pms/models/pms_reservation.py b/pms/models/pms_reservation.py index 6b9a8eebe..eb2751c36 100644 --- a/pms/models/pms_reservation.py +++ b/pms/models/pms_reservation.py @@ -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") ] ) diff --git a/pms/views/pms_folio_views.xml b/pms/views/pms_folio_views.xml index 9c0d68505..8a79c677d 100644 --- a/pms/views/pms_folio_views.xml +++ b/pms/views/pms_folio_views.xml @@ -281,16 +281,9 @@ - - - - + + + - @@ -757,7 +749,6 @@ '|', '|', '|', '|', ('name', 'ilike', self), ('partner_name', 'ilike', self), - ('document_number', 'ilike', self), ('partner_id.vat', 'ilike', self), ('mobile', 'ilike', self), ]" diff --git a/pms/views/pms_reservation_views.xml b/pms/views/pms_reservation_views.xml index c0082fb4b..036c25bda 100644 --- a/pms/views/pms_reservation_views.xml +++ b/pms/views/pms_reservation_views.xml @@ -364,14 +364,6 @@ name="partner_id" attrs="{'invisible':[('reservation_type','in',('out'))]}" /> - -