From bbb8925a090c12aa68bbb56975c8413d04dc54eb Mon Sep 17 00:00:00 2001 From: oscar alvarez Date: Tue, 22 Mar 2022 18:37:09 -0500 Subject: [PATCH] Fix --- booking.py | 36 +++++++++++++++++++++++++----------- folio.py | 30 ++++++++++++++++++------------ migration_report.fods | Bin 20563 -> 33425 bytes patch.sql | 1 + view/board_folio_form.xml | 2 ++ view/board_folio_tree.xml | 3 +++ view/booking_folio_form.xml | 2 ++ view/booking_form.xml | 4 ++-- view/booking_tree.xml | 2 +- 9 files changed, 54 insertions(+), 26 deletions(-) diff --git a/booking.py b/booking.py index 8f6025c..6d791b3 100644 --- a/booking.py +++ b/booking.py @@ -194,7 +194,7 @@ class Booking(Workflow, ModelSQL, ModelView): }, 'bill_to_channel': { 'invisible': ~Eval('channel'), - 'readonly': Eval('channel_paymode') != 'ota_collect', + 'readonly': (Eval('channel_paymode') != 'ota_collect') | Eval('channel_invoice', True), }, }) @@ -212,6 +212,22 @@ class Booking(Workflow, ModelSQL, ModelView): default['booking_date'] = datetime.now() return super(Booking, cls).copy(bookings, default=default) + @classmethod + def search_rec_name(cls, name, clause): + _, operator, value = clause + if operator.startswith('!') or operator.startswith('not '): + bool_op = 'AND' + else: + bool_op = 'OR' + domain = [ + bool_op, + ('number', operator, value), + ('ota_booking_code', operator, value), + ('party.name', operator, value), + ('contact', operator, value), + ] + return domain + @staticmethod def default_currency(): Company = Pool().get('company.company') @@ -249,6 +265,12 @@ class Booking(Workflow, ModelSQL, ModelView): res += line.num_children return res + @fields.depends('ota_booking_code', 'lines') + def on_change_ota_booking_code(self): + if self.ota_booking_code: + for line in self.lines: + line.reference = self.ota_booking_code + @fields.depends('party', 'price_list', 'lines') def on_change_party(self): if self.party: @@ -422,7 +444,6 @@ class Booking(Workflow, ModelSQL, ModelView): raise UserError(gettext('hotel.msg_customer_is_required')) bk = fo.booking - print(' fo.booking ....', fo.booking) agent_id = bk.channel.agent.id if bk.channel else None if party.id not in res.keys(): # Add room product to sale @@ -481,8 +502,6 @@ class Booking(Workflow, ModelSQL, ModelView): 'reference': charge.folio.registration_card, 'lines': [], } - # if invoice_party_id != bk.party.id: - # else: res[invoice_party_id]['lines'].append({ 'description': ' | '.join([ @@ -817,13 +836,6 @@ class Booking(Workflow, ModelSQL, ModelView): res += line.total_amount return res - # def get_occupancies(self, name): - # occupancies = set() - # for line in self.lines: - # if line.occupancy_line: - # occupancies.add(line.occupancy_line.id) - # return list(occupancies) - def get_channel_commission(self, name): res = sum(line.commission_amount for line in self.lines if line.commission_amount) @@ -978,6 +990,8 @@ class SelectRooms(Wizard): values = { 'booking': booking.id, 'product': product.id, + 'reference': booking.ota_booking_code, + 'contact': booking.contact, 'room': room.id, 'arrival_date': self.start.arrival_date, 'departure_date': self.start.departure_date, diff --git a/folio.py b/folio.py index 2d5bf1a..3075c55 100644 --- a/folio.py +++ b/folio.py @@ -57,14 +57,17 @@ _ZERO = Decimal('0') class Folio(ModelSQL, ModelView): 'Folio' __name__ = 'hotel.folio' - booking = fields.Many2One('hotel.booking', 'Booking', ondelete='CASCADE', - select=True) - registration_card = fields.Char('Registration Card', readonly=True, - select=True, help="Unique sequence for card guest registration.") - room = fields.Many2One('hotel.room', 'Room', select=True, states={ + STATES = { 'required': Eval('registration_state') == 'check_in', 'readonly': Eval('registration_state') == 'check_in', - }) + } + booking = fields.Many2One('hotel.booking', 'Booking', ondelete='CASCADE', + select=True) + reference = fields.Char('Reference', states=STATES) + registration_card = fields.Char('Registration Card', readonly=True, + select=True, help="Unique sequence for card guest registration.") + room = fields.Many2One('hotel.room', 'Room', select=True, + states=STATES_CHECKIN) arrival_date = fields.Date('Arrival Date', required=True, states=STATES_CHECKOUT) departure_date = fields.Date('Departure Date', required=True, @@ -83,10 +86,7 @@ class Folio(ModelSQL, ModelView): 'get_unit_price_w_tax') uom = fields.Many2One('product.uom', 'UOM', readonly=True) main_guest = fields.Many2One('party.party', 'Main Guest', select=True, - states={ - 'required': Eval('registration_state') == 'check_in', - 'readonly': Eval('registration_state') == 'check_in', - } + states=STATES_CHECKIN ) contact = fields.Char('Contact', states=STATES_CHECKIN) num_children = fields.Function(fields.Integer('No. Children'), @@ -143,10 +143,11 @@ class Folio(ModelSQL, ModelView): ), 'on_change_with_room_amount') stock_moves = fields.Many2Many('hotel.folio-stock.move', 'folio', 'move', 'Stock Moves', states={'readonly': True}) + channel = fields.Function(fields.Many2One('hotel.channel', 'Channel'), + 'get_channel') @classmethod def __setup__(cls): - # UPDATE hotel_folio SET nights_quantity=(departure_date-arrival_date) super(Folio, cls).__setup__() cls._check_modify_exclude = [ 'nationality', 'origin_country', 'target_country', @@ -190,6 +191,7 @@ class Folio(ModelSQL, ModelView): ('registration_card', operator, value), ('product.name', operator, value), ('party.name', operator, value), + ('reference', operator, value), ] return domain @@ -246,6 +248,10 @@ class Folio(ModelSQL, ModelView): if self.invoice_line: return self.invoice_line.invoice.state + def get_channel(self, name=None): + if self.booking and self.booking.channel: + return self.booking.channel.id + def set_registration_number(self): """ Fill the number field for registration card with sequence @@ -875,8 +881,8 @@ class Migration(Report): ('arrival_date', '>=', start), ('arrival_date', '<=', end), ('main_guest', '!=', None), - ('registration_state', 'in', ['check_in', 'check_out']), ('guests.party', '!=', None), + ('registration_state', 'in', ['check_in', 'check_out']), ]) return report_context diff --git a/migration_report.fods b/migration_report.fods index 6d0491e20b0ea1fdd052c76eef8402598be88e48..24810039cc4e02b5c285ae4651f2fbea16622a7b 100644 GIT binary patch delta 31556 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 diff --git a/patch.sql b/patch.sql index abf2bf1..13ea5b1 100644 --- a/patch.sql +++ b/patch.sql @@ -2,3 +2,4 @@ ALTER TABLE hotel_channel DROP COLUMN commission; ALTER TABLE hotel_channel DROP COLUMN payment_method; ALTER TABLE hotel_booking RENAME COLUMN party_seller TO channel; +UPDATE hotel_folio SET nights_quantity=(departure_date-arrival_date) diff --git a/view/board_folio_form.xml b/view/board_folio_form.xml index 4bdc776..a92f33d 100644 --- a/view/board_folio_form.xml +++ b/view/board_folio_form.xml @@ -28,6 +28,8 @@ this repository contains the full copyright notices and license terms. -->