diff --git a/api/customs/views.py b/api/customs/views.py index 8e38446..d60fa5b 100644 --- a/api/customs/views.py +++ b/api/customs/views.py @@ -1783,14 +1783,23 @@ class EjecutarComandoView(APIView): View para ejecutar el comando de microservicios desde una petición HTTP. """ def post(self, request): - # organizacion_id = request.data.get('organizacion_id', None) + + # Obtener organizacion_id del request (si se envía) + organizacion_id_request = request.data.get('organizacionid', None) procesamiento = request.data.get('procesamiento', None) todos = request.data.get('todos', False) if not self.request.user.is_authenticated or not hasattr(self.request.user, 'organizacion'): raise ValueError("Usuario no autenticado o sin organización") - organizacion_id = self.request.user.organizacion.id + if organizacion_id_request is None: + return Response( + {"error": 'No se proporcionó la organización a ejecutar el proceso.'}, + status=status.HTTP_400_BAD_REQUEST + ) + + # organizacion_id = self.request.user.organizacion.id + organizacion_id = organizacion_id_request nombre_organizacion = self.request.user.organizacion.nombre if procesamiento is None and todos == False: diff --git a/api/tasks/filters.py b/api/tasks/filters.py index de12c79..2e4d288 100644 --- a/api/tasks/filters.py +++ b/api/tasks/filters.py @@ -8,7 +8,8 @@ class TaskFilter(filters.FilterSet): timestamp_gte = filters.DateTimeFilter(field_name='timestamp', lookup_expr='gte') timestamp_lte = filters.DateTimeFilter(field_name='timestamp', lookup_expr='lte') status = filters.CharFilter(field_name='status') + organizacion = filters.UUIDFilter(field_name='organizacion__id') # Cambiado a relación directa class Meta: model = Task - fields = ['servicio', 'pedimento_app', 'pedimento', 'timestamp_gte', 'timestamp_lte', 'status'] \ No newline at end of file + fields = ['servicio', 'pedimento_app', 'pedimento', 'timestamp_gte', 'timestamp_lte', 'status', 'organizacion'] \ No newline at end of file diff --git a/api/tasks/views.py b/api/tasks/views.py index 847e5c7..917205b 100644 --- a/api/tasks/views.py +++ b/api/tasks/views.py @@ -42,7 +42,6 @@ class TaskViewSet(LoggingMixin,viewsets.ModelViewSet,OrganizacionFiltradaMixin): Superusuarios pueden ver todas las tareas. """ queryset = self.get_queryset_filtrado_por_organizacion() # Tambien filtra por importador - # user = self.request.user # if user.is_superuser: # return self.queryset # # return self.queryset.filter(organizacion_id=user.organizacion.id)