se modifico tasks y views de auditor
This commit is contained in:
14
api/tasks/filters.py
Normal file
14
api/tasks/filters.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from django_filters import rest_framework as filters
|
||||
from .models import Task
|
||||
|
||||
class TaskFilter(filters.FilterSet):
|
||||
servicio = filters.NumberFilter(field_name='servicio__id')
|
||||
pedimento_app = filters.CharFilter(field_name='pedimento__pedimento_app')
|
||||
pedimento = filters.UUIDFilter(field_name='pedimento__id')
|
||||
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')
|
||||
|
||||
class Meta:
|
||||
model = Task
|
||||
fields = ['servicio', 'pedimento_app', 'pedimento', 'timestamp_gte', 'timestamp_lte', 'status']
|
||||
@@ -9,3 +9,4 @@ class Task(models.Model):
|
||||
message = models.TextField()
|
||||
status = models.CharField(max_length=50)
|
||||
servicio = models.ForeignKey('customs.Servicio', on_delete=models.CASCADE, null=True, blank=True)
|
||||
|
||||
@@ -2,6 +2,8 @@ from rest_framework import serializers
|
||||
from .models import Task
|
||||
|
||||
class TaskSerializer(serializers.ModelSerializer):
|
||||
pedimento_app = serializers.CharField(source='pedimento.pedimento_app', read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Task
|
||||
fields = '__all__'
|
||||
@@ -1,9 +1,12 @@
|
||||
from django.shortcuts import render
|
||||
from rest_framework import viewsets
|
||||
from rest_framework import viewsets, filters
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
|
||||
from api.logger.mixins import LoggingMixin
|
||||
from .models import Task
|
||||
from .serializers import TaskSerializer
|
||||
from .filters import TaskFilter
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
||||
# Create your views here.
|
||||
@@ -14,9 +17,19 @@ from core.permissions import (
|
||||
IsSuperUser
|
||||
)
|
||||
|
||||
class TaskPagination(PageNumberPagination):
|
||||
page_size = 10
|
||||
page_size_query_param = 'page_size'
|
||||
max_page_size = 100
|
||||
|
||||
class TaskViewSet(LoggingMixin,viewsets.ModelViewSet):
|
||||
permission_classes = [IsAuthenticated & (IsSameOrganization | IsSameOrganizationAndAdmin | IsSameOrganizationDeveloper | IsSuperUser)]
|
||||
queryset = Task.objects.all()
|
||||
queryset = Task.objects.select_related('pedimento', 'servicio').all()
|
||||
serializer_class = TaskSerializer
|
||||
filter_backends = [DjangoFilterBackend, filters.OrderingFilter]
|
||||
filterset_class = TaskFilter
|
||||
pagination_class = TaskPagination
|
||||
ordering_fields = ['timestamp']
|
||||
ordering = ['-timestamp'] # ordenamiento por defecto, más reciente primero
|
||||
|
||||
my_tags = ['tasks']
|
||||
Reference in New Issue
Block a user