You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

84 lines
3.3 KiB

# -*- coding: utf-8 -*-
###############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Aysha Shalin (odoo@cybrosys.com)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
from odoo import api, fields, models
class PosConfig(models.Model):
""" Inherited model for adding new field to configuration settings
that allows to add lead time to reservations """
_inherit = 'pos.config'
has_lead_time = fields.Boolean(
string='Lead Time',
compute="_compute_has_lead_time",
help="Enable to set lead time for reservations")
has_reservation_charge = fields.Boolean(
string="Reservation Charge",
compute="_compute_has_reservation_charge",
help="Enable to apply charge for reservations.")
is_paid = fields.Boolean(string="Is paid reservation",
help="To identify if the reservation is already paid")
set_opening_hours = fields.Boolean(
string="Set Opening and Closing Hours",
help="Enable to configure restaurant opening and closing hours.")
opening_hour = fields.Float(
string="Opening Hour",
compute="_compute_opening_hour",
store=True
)
closing_hour = fields.Float(
string="Closing Hour",
compute="_compute_closing_hour",
store=True
)
def _compute_opening_hour(self):
""" Fetch opening hour from system parameters """
for record in self:
record.opening_hour = float(
self.env['ir.config_parameter'].sudo().get_param(
'table_reservation_on_website.opening_hour', default=0.0))
def _compute_closing_hour(self):
""" Fetch closing hour from system parameters """
for record in self:
record.closing_hour = float(
self.env['ir.config_parameter'].sudo().get_param(
'table_reservation_on_website.closing_hour', default=23.99))
def _compute_has_lead_time(self):
""" To check whether lead time is enabled from settings """
if self.env['ir.config_parameter'].sudo().get_param(
'table_reservation_on_website.is_lead_time'):
self.has_lead_time = True
else:
self.has_lead_time = False
def _compute_has_reservation_charge(self):
""" To check whether reservation charge is enabled from settings """
if self.env['ir.config_parameter'].sudo().get_param(
'table_reservation_on_website.reservation_charge'):
self.has_reservation_charge = True
else:
self.has_reservation_charge = False