feature/pedimentos-correccion-partidas
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
from rest_framework import viewsets
|
||||
from rest_framework import viewsets, status
|
||||
from rest_framework.decorators import action
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.exceptions import PermissionDenied
|
||||
from rest_framework.response import Response
|
||||
|
||||
from .models import Notificacion, TipoNotificacion
|
||||
from .serializers import NotificacionSerializer, TipoNotificacionSerializer
|
||||
@@ -45,3 +47,11 @@ class NotificacionViewSet(viewsets.ModelViewSet):
|
||||
serializer.save()
|
||||
return
|
||||
raise PermissionDenied("No tienes permiso para crear notificaciones para otros usuarios")
|
||||
|
||||
@action(detail=False, methods=['get'], url_path=r'by-task/(?P<task_id>[^/.]+)')
|
||||
def by_task(self, request, task_id=None):
|
||||
"""Recupera la notificación de una tarea de auditoría por su task_id (Celery)."""
|
||||
notif = self.get_queryset().filter(datos__task_id=task_id).first()
|
||||
if not notif:
|
||||
return Response({'detail': 'No encontrada.'}, status=status.HTTP_404_NOT_FOUND)
|
||||
return Response(self.get_serializer(notif).data)
|
||||
|
||||
Reference in New Issue
Block a user