bemade-addons/openwebui_base/models/res_config_settings.py
mathis c5904a51d7 [REF] Replace openwebui_connector with centralized openwebui_base module
This commit represents a significant architectural improvement:

- Completely replaced openwebui_connector with a more robust openwebui_base module
- Centralized OpenWebUI API integration for better maintainability
- Redesigned helpdesk_sale_order_ai to use the new openwebui_base module
- Added support for multiple OpenWebUI providers and models
- Improved error handling and response parsing
- Added proper template management with openwebui_prompt_template
- Fixed KeyError issues with safe template substitution
- Streamlined API client initialization and usage
2025-07-28 13:27:29 -04:00

44 lines
1.6 KiB
Python

from odoo import models, fields, api
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
openwebui_provider_id = fields.Many2one(
comodel_name="openwebui.provider",
related="company_id.openwebui_provider_id",
readonly=False,
company_dependent=True,
)
openwebui_default_model_id = fields.Many2one(
comodel_name="openwebui.model",
related="company_id.openwebui_default_model_id",
readonly=False,
company_dependent=True,
)
use_ai_sale_orders = fields.Boolean(
string='Use AI for Sale Orders',
help='If checked, the system will use AI to automatically generate sale orders from ticket descriptions.',
)
@api.model
def get_values(self):
"""Get values for the settings form"""
res = super(ResConfigSettings, self).get_values()
# Get the AI sale orders setting from the system parameter
IrConfigParam = self.env['ir.config_parameter'].sudo()
param_value = IrConfigParam.get_param('helpdesk_sale_order_ai.use_ai_sale_orders', 'True')
res['use_ai_sale_orders'] = param_value.lower() == 'true' if isinstance(param_value, str) else bool(param_value)
return res
def set_values(self):
"""Set values from the settings form"""
super(ResConfigSettings, self).set_values()
# Save the AI sale orders setting to the system parameter
IrConfigParam = self.env['ir.config_parameter'].sudo()
IrConfigParam.set_param('helpdesk_sale_order_ai.use_ai_sale_orders', str(self.use_ai_sale_orders))