diff --git a/pms/demo/pms_reservation.xml b/pms/demo/pms_reservation.xml index 57c858299..fb6c62c86 100644 --- a/pms/demo/pms_reservation.xml +++ b/pms/demo/pms_reservation.xml @@ -24,6 +24,20 @@ 2 + onboard + @@ -58,6 +72,15 @@ 1 + @@ -67,6 +90,14 @@ 1 + @@ -129,6 +160,13 @@ 2 + @@ -164,6 +202,13 @@ 2 + @@ -217,6 +262,14 @@ 3 + @@ -225,6 +278,12 @@ 1 + 2 @@ -235,6 +294,14 @@ 3 + @@ -244,7 +311,20 @@ 2 1 - confirm + onboard + diff --git a/pms/models/pms_checkin_partner.py b/pms/models/pms_checkin_partner.py index def65db15..f67124df4 100644 --- a/pms/models/pms_checkin_partner.py +++ b/pms/models/pms_checkin_partner.py @@ -38,6 +38,11 @@ class PmsCheckinPartner(models.Model): name = fields.Char("Name", related="partner_id.name") email = fields.Char("E-mail", related="partner_id.email") mobile = fields.Char("Mobile", related="partner_id.mobile") + image_128 = fields.Image(related="partner_id.image_128") + segmentation_ids = fields.Many2many( + related="reservation_id.segmentation_ids", + readonly=True, + ) arrival = fields.Datetime("Enter") departure = fields.Datetime("Exit") state = fields.Selection( @@ -59,6 +64,7 @@ class PmsCheckinPartner(models.Model): def _compute_identifier(self): for record in self: # TODO: Identifier + checkins = [] if record.reservation_id.filtered("preferred_room_id"): checkins = record.reservation_id.checkin_partner_ids record.identifier = ( @@ -93,7 +99,7 @@ class PmsCheckinPartner(models.Model): record.state = "precheckin" def _checkin_mandatory_fields(self): - return ["name", "email"] + return ["name"] # Constraints and onchanges diff --git a/pms/models/pms_folio.py b/pms/models/pms_folio.py index 94149e51e..d63b01c46 100644 --- a/pms/models/pms_folio.py +++ b/pms/models/pms_folio.py @@ -244,14 +244,11 @@ class PmsFolio(models.Model): tracking=True, ) # Checkin Fields----------------------------------------------------- - booking_pending = fields.Integer( - "Booking pending", compute="_compute_checkin_partner_count" + reservation_pending_arrival_ids = fields.One2many( + string="Pending Arrival Rooms", compute="_compute_reservations_pending_arrival" ) - checkin_partner_count = fields.Integer( - "Checkin counter", compute="_compute_checkin_partner_count" - ) - checkin_partner_pending_count = fields.Integer( - "Checkin Pending", compute="_compute_checkin_partner_count" + reservations_pending_count = fields.Integer( + compute="_compute_reservations_pending_arrival" ) # Invoice Fields----------------------------------------------------- invoice_status = fields.Selection( @@ -444,6 +441,16 @@ class PmsFolio(models.Model): } ) + @api.depends("reservation_ids", "reservation_ids.state") + def _compute_reservations_pending_arrival(self): + for record in self: + record.reservation_pending_arrival_ids = record.reservation_ids.filtered( + lambda r: r.state in ("draft", "precheckin") + ) + record.reservations_pending_count = len( + record.reservations_pending_arrival_ids + ) + # TODO: Add return_ids to depends @api.depends("amount_total", "payment_ids", "reservation_type", "state") def _compute_amount(self): diff --git a/pms/static/description/avatar.png b/pms/static/description/avatar.png new file mode 100644 index 000000000..74861de3f Binary files /dev/null and b/pms/static/description/avatar.png differ diff --git a/pms/views/pms_checkin_partner_views.xml b/pms/views/pms_checkin_partner_views.xml index d8b4ea75c..8fb5af300 100644 --- a/pms/views/pms_checkin_partner_views.xml +++ b/pms/views/pms_checkin_partner_views.xml @@ -4,7 +4,8 @@ id="action_checkin_partner" name="Action checkin" res_model="pms.checkin.partner" - view_mode="tree,form" + view_mode="kanban,tree,form" + domain="[('state', '!=', 'draft')]" /> + + pms.checkin.partner.kanban + pms.checkin.partner + + + + + + + + + + + + + + + + + +
+
+ Contact image + + + Draft + Cancelled + +
+
+
+
+ +
+ + + +
+
+ + + +
+
+ + + +
+ + +
+ + + + + + +
+
+ +
    +
  • + +
  • +
  • + +
  • +
+ +
+
+
+
+
+
+
pms.checkin.partner.search pms.checkin.partner diff --git a/pms/views/pms_folio_views.xml b/pms/views/pms_folio_views.xml index c4b310a55..ca2e6fb57 100644 --- a/pms/views/pms_folio_views.xml +++ b/pms/views/pms_folio_views.xml @@ -278,9 +278,6 @@ - - - @@ -295,27 +292,6 @@ -
    -
  • - -
  • - - - - - - - - -
diff --git a/pms/views/pms_reservation_views.xml b/pms/views/pms_reservation_views.xml index f7f7236f4..8c3399719 100644 --- a/pms/views/pms_reservation_views.xml +++ b/pms/views/pms_reservation_views.xml @@ -495,12 +495,10 @@