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.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							31 lines
						
					
					
						
							1.1 KiB
						
					
					
				| from datetime import datetime | |
| 
 | |
| from odoo import http | |
| from odoo.http import request, _logger | |
| 
 | |
| 
 | |
| class ResConfigSettingsController(http.Controller): | |
| 
 | |
|     @http.route('/pos/get_opening_closing_hours', type='json', auth='public', methods=['POST']) | |
|     def get_opening_closing_hours(self): | |
|         res_config = request.env['res.config.settings'].sudo().search([], limit=1) | |
|         # Ensure proper time format | |
|         try: | |
|             opening_hour = self.float_to_time(float(res_config.pos_opening_hour)) | |
|             closing_hour = self.float_to_time(float(res_config.pos_closing_hour)) | |
|         except ValueError: | |
|             opening_hour = "00:00" | |
|             closing_hour = "23:59" | |
| 
 | |
|         if res_config: | |
|             return { | |
|                 'opening_hour': opening_hour, | |
|                 'closing_hour': closing_hour | |
|             } | |
|         return {'error': 'POS configuration not found'} | |
| 
 | |
|     def float_to_time(self, hour_float): | |
|         """ Convert float hours (e.g., 8.5 → 08:30) to HH:MM format """ | |
|         hours = int(hour_float) | |
|         minutes = int((hour_float - hours) * 60) | |
|         return f"{hours:02d}:{minutes:02d}"
 | |
| 
 |