From e0192ad79e0cfb7110fbd7d1b68799c48c62402c Mon Sep 17 00:00:00 2001 From: Alaguraj0361 Date: Tue, 6 Oct 2026 11:51:06 +0530 Subject: [PATCH] feat: add restaurant reservation model and dashboard controller --- addons/dine360_dashboard/controllers/main.py | 2 ++ .../dine360_reservation/models/restaurant_reservation.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/addons/dine360_dashboard/controllers/main.py b/addons/dine360_dashboard/controllers/main.py index 22032e4..710406e 100644 --- a/addons/dine360_dashboard/controllers/main.py +++ b/addons/dine360_dashboard/controllers/main.py @@ -558,6 +558,8 @@ class Dine360DashboardController(http.Controller): 'occasion': occasion, 'special_requests': special_requests, 'state': 'confirmed', + 'is_admin_override': True, + 'override_reason': 'Dashboard Booking', } if table_id: vals['table_id'] = table_id diff --git a/addons/dine360_reservation/models/restaurant_reservation.py b/addons/dine360_reservation/models/restaurant_reservation.py index 17c9e29..5aa0d9b 100644 --- a/addons/dine360_reservation/models/restaurant_reservation.py +++ b/addons/dine360_reservation/models/restaurant_reservation.py @@ -103,6 +103,15 @@ class RestaurantReservation(models.Model): if overlap: raise ValidationError(_('One or more tables are already reserved for the selected time slot.')) + def _float_to_time_str(self, time_float): + hours = int(time_float or 0) + minutes = int(((time_float or 0) - hours) * 60) + ampm = "am" if hours < 12 else "pm" + display_hours = hours if hours <= 12 else hours - 12 + if display_hours == 0: + display_hours = 12 + return f"{display_hours}:{minutes:02d}{ampm}" + @api.constrains('start_time', 'end_time', 'is_admin_override') def _check_opening_hours(self): restaurant_tz = pytz.timezone('America/Toronto')