Files
task-team/odoo_modules/task_team_connector/models/res_users.py
Claude CLI Agent 6c93ae04d0 Fix login redirect — access result.data.token/user
Login/register pages now correctly unwrap API response {data: {token, user}}.
Cleaned up leftover apiFetch code.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 10:30:05 +00:00

40 lines
1.3 KiB
Python

# Task Team Connector — User mapping
import logging
from odoo import fields, models
_logger = logging.getLogger(__name__)
class ResUsers(models.Model):
_inherit = 'res.users'
tt_user_id = fields.Char(
string='Task Team User ID',
readonly=True,
copy=False,
help='UUID of this Odoo user in the Task Team database',
)
def _tt_get_or_create_user(self):
"""Return the Task Team UUID for this user, creating the account if needed."""
self.ensure_one()
if self.tt_user_id:
return self.tt_user_id
from ..services.api_client import TaskTeamApiClient
ICP = self.env['ir.config_parameter'].sudo()
api_url = ICP.get_param('task_team_connector.api_url', 'https://api.hasdo.info/api/v1')
api_key = ICP.get_param('task_team_connector.api_key', '')
try:
client = TaskTeamApiClient(api_url, api_key)
result = client.get_or_create_user(email=self.email, name=self.name)
tt_id = (result or {}).get('data', {}).get('id')
if tt_id:
self.sudo().write({'tt_user_id': tt_id})
return tt_id
except Exception as exc:
_logger.error('Failed to resolve Task Team user for %s: %s', self.email, exc)
return None