# jotelulu_integration/views.py
from django.shortcuts import render
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from .services import JoteluluService
def dashboard(request):
"""Vista principal do dashboard"""
jotelulu = JoteluluService()
organizations = jotelulu.get_user_organizations()
context = {
'organizations': organizations,
'user': request.user
}
return render(request, 'jotelulu_integration/dashboard.html', context)
def organization_detail(request, organization_id):
"""Detalhe de uma organização"""
jotelulu = JoteluluService()
users = jotelulu.get_organization_users(organization_id)
return JsonResponse({
'organization_id': organization_id,
'users': [{'id': user.id, 'name': user.name, 'email': user.email} for user in users]
})
@csrf_exempt
def create_organization_user(request, organization_id):
"""Criar utilizador na organização"""
if request.method == 'POST':
import json
from openapi_client.model.create_organization_user_request import CreateOrganizationUserRequest
from openapi_client.model.create_organization_user_request_data import CreateOrganizationUserRequestData
data = json.loads(request.body)
jotelulu = JoteluluService()
try:
api_instance = jotelulu.get_organizations_api()
user_request = CreateOrganizationUserRequest(
data=CreateOrganizationUserRequestData(
email=data['email'],
name=data['name'],
last_name=data['lastName'],
password=data.get('password')
)
)
response = api_instance.create_organization_user(organization_id, user_request)
return JsonResponse({'success': True, 'user_id': response.data.user_id})
except Exception as e:
return JsonResponse({'success': False, 'error': str(e)})
return JsonResponse({'error': 'Método não permitido'}, status=405)