# custom_template_khmer/controllers/main.py from odoo import http from odoo.http import request import logging _logger = logging.getLogger(__name__) class CustomThemeController(http.Controller): # @http.route('/custom_template_khmer/fonts', type='http', auth='public') # def get_font(self): # """Serve custom font file""" # try: # config = request.env['custom.theme.config'].sudo().search([], limit=1) # if config and config.font_file: # return request.make_response( # config.font_file, # headers=[ # ('Content-Type', 'font/ttf'), # ('Content-Disposition', f'inline; filename={config.font_name}.ttf'), # ('Cache-Control', 'public, max-age=31536000') # ] # ) # except Exception as e: # _logger.error(f"Error serving font: {str(e)}") # # return request.make_response("", headers=[('Content-Type', 'text/plain')]) @http.route('/custom_template_khmer/menu_image', type='http', auth='public') def get_menu_image(self): """Serve menu background image""" try: config = request.env['custom.theme.config'].sudo().search([], limit=1) if config and config.menu_bg_image: return request.make_response( config.menu_bg_image, headers=[ ('Content-Type', 'image/png'), ('Cache-Control', 'public, max-age=31536000') ] ) except Exception as e: _logger.error(f"Error serving menu image: {str(e)}") return request.make_response("", headers=[('Content-Type', 'text/plain')])