appointment_capacity_extend/controllers/main.py

23 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
import json
from odoo import http
from odoo.http import request
from odoo.addons.appointment.controllers.appointment import AppointmentController
class AppointmentCapacityExtendController(AppointmentController):
def _prepare_appointment_type_page_values(self, appointment_type, staff_user_id=False, resource_selected_id=False, **kwargs):
""" Override to extend the max capacity based on total resource capacity """
values = super()._prepare_appointment_type_page_values(appointment_type, staff_user_id, resource_selected_id, **kwargs)
# For resource-based appointments, use the total capacity of all resources
if appointment_type.schedule_based_on == 'resources':
# Get the total capacity of all resources assigned to this appointment type
total_capacity = appointment_type.resource_total_capacity
# Override the max_capacity to use the total resource capacity instead of the hardcoded 12
values['max_capacity'] = max(1, total_capacity) # Ensure at least 1
# For user-based appointments, keep the default behavior or implement a different logic if needed
return values