36 lines
No EOL
1.4 KiB
Python
36 lines
No EOL
1.4 KiB
Python
from odoo import models, fields, api
|
|
from odoo.modules.module import get_module_resource
|
|
|
|
class ResConfigSettings(models.TransientModel):
|
|
_inherit = 'res.config.settings'
|
|
|
|
use_queue_job = fields.Boolean(
|
|
string="Use Queue Job for Asynchronous Processing",
|
|
help="If enabled, the system will use queue jobs for background tasks. Requires the queue_job module.",
|
|
default=False
|
|
)
|
|
product_categories_analyzed = fields.Many2many(
|
|
related='company_id.product_categories_analyzed',
|
|
comodel_name='product.category',
|
|
string="Product Categories Analyzed",
|
|
help="Select product categories to include in the purchase analysis."
|
|
)
|
|
|
|
@api.model
|
|
def get_values(self):
|
|
res = super().get_values()
|
|
res.update(
|
|
use_queue_job=self.env['ir.config_parameter'].sudo().get_param('my_module.use_queue_job', default=False)
|
|
)
|
|
return res
|
|
|
|
def set_values(self):
|
|
super().set_values()
|
|
self.env['ir.config_parameter'].sudo().set_param('my_module.use_queue_job', self.use_queue_job)
|
|
|
|
@api.model
|
|
def enable_queue_job_group(self):
|
|
"""Enable the group if the queue_job module is installed"""
|
|
group = self.env.ref('partner_purchase_analysis_with_openai_filtered.group_use_queue_job', raise_if_not_found=False)
|
|
if group and get_module_resource('queue_job'):
|
|
group.sudo().write({'users': [(4, self.env.user.id)]}) |