19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:31:56 +01:00
parent a2f74aefd8
commit 4a4d12c333
844 changed files with 212348 additions and 270090 deletions

View file

@ -23,9 +23,9 @@ class MailPluginController(mail_plugin.MailPluginController):
create tasks, the section won't be visible on the addin side (like if the project
module was not installed on the database).
"""
contact_values = super(MailPluginController, self)._get_contact_data(partner)
contact_values = super()._get_contact_data(partner)
if not request.env['project.task'].check_access_rights('create', raise_exception=False):
if not request.env['project.task'].has_access('create'):
return contact_values
if not partner:
@ -34,7 +34,7 @@ class MailPluginController(mail_plugin.MailPluginController):
partner_tasks = request.env['project.task'].search(
[('partner_id', '=', partner.id)], offset=0, limit=5)
accessible_projects = partner_tasks.project_id._filter_access_rules('read').mapped("id")
accessible_projects = partner_tasks.project_id._filtered_access('read').ids
tasks_values = [
{
@ -44,19 +44,18 @@ class MailPluginController(mail_plugin.MailPluginController):
} for task in partner_tasks if task.project_id.id in accessible_projects]
contact_values['tasks'] = tasks_values
contact_values['can_create_project'] = request.env['project.project'].check_access_rights(
'create', raise_exception=False)
contact_values['can_create_project'] = request.env['project.project'].has_access('create')
return contact_values
def _mail_content_logging_models_whitelist(self):
models_whitelist = super(MailPluginController, self)._mail_content_logging_models_whitelist()
if not request.env['project.task'].check_access_rights('create', raise_exception=False):
models_whitelist = super()._mail_content_logging_models_whitelist()
if not request.env['project.task'].has_access('create'):
return models_whitelist
return models_whitelist + ['project.task']
def _translation_modules_whitelist(self):
modules_whitelist = super(MailPluginController, self)._translation_modules_whitelist()
if not request.env['project.task'].check_access_rights('create', raise_exception=False):
modules_whitelist = super()._translation_modules_whitelist()
if not request.env['project.task'].has_access('create'):
return modules_whitelist
return modules_whitelist + ['project_mail_plugin']

View file

@ -4,7 +4,7 @@ from odoo.http import request
class ProjectClient(http.Controller):
@http.route('/mail_plugin/project/search', type='json', auth='outlook', cors="*")
@http.route('/mail_plugin/project/search', type='jsonrpc', auth='outlook', cors="*")
def projects_search(self, search_term, limit=5):
"""
Used in the plugin side when searching for projects.
@ -22,7 +22,7 @@ class ProjectClient(http.Controller):
for project in projects.sudo()
]
@http.route('/mail_plugin/task/create', type='json', auth='outlook', cors="*")
@http.route('/mail_plugin/task/create', type='jsonrpc', auth='outlook', cors="*")
def task_create(self, email_subject, email_body, project_id, partner_id):
partner = request.env['res.partner'].browse(partner_id).exists()
if not partner:
@ -44,7 +44,7 @@ class ProjectClient(http.Controller):
return {'task_id': record.id, 'name': record.name}
@http.route('/mail_plugin/project/create', type='json', auth='outlook', cors="*")
@http.route('/mail_plugin/project/create', type='jsonrpc', auth='outlook', cors="*")
def project_create(self, name):
record = request.env['project.project'].create({'name': name})
return {"project_id": record.id, "name": record.name}