Se agregaron partidas y modelos
This commit is contained in:
@@ -21,7 +21,8 @@ from api.customs.models import (
|
||||
ProcesamientoPedimento,
|
||||
EDocument,
|
||||
Cove,
|
||||
Importador
|
||||
Importador,
|
||||
Partida
|
||||
)
|
||||
from api.customs.serializers import (
|
||||
PedimentoSerializer,
|
||||
@@ -29,7 +30,8 @@ from api.customs.serializers import (
|
||||
ProcesamientoPedimentoSerializer,
|
||||
EDocumentSerializer,
|
||||
CoveSerializer,
|
||||
ImportadorSerializer
|
||||
ImportadorSerializer,
|
||||
PartidaSerializer
|
||||
|
||||
)
|
||||
from api.logger.mixins import LoggingMixin
|
||||
@@ -202,6 +204,36 @@ class ViewSetPedimento(LoggingMixin, viewsets.ModelViewSet, OrganizacionFiltrada
|
||||
|
||||
my_tags = ['Pedimentos']
|
||||
|
||||
class PartidaViewSet(viewsets.ModelViewSet):
|
||||
"""
|
||||
ViewSet for Partida model.
|
||||
Permite filtrar por:
|
||||
- pedimento: UUID del pedimento (query parameter principal)
|
||||
- pedimento__id: UUID del pedimento (alternativo)
|
||||
|
||||
Ejemplo: GET /api/partidas/?pedimento=6782d22e-5e97-4efc-87c9-bd8497c8ac7e
|
||||
"""
|
||||
permission_classes = [IsAuthenticated & (IsSameOrganization | IsSameOrganizationAndAdmin | IsSameOrganizationDeveloper | IsSuperUser)]
|
||||
queryset = Partida.objects.all()
|
||||
serializer_class = PartidaSerializer
|
||||
pagination_class = CustomPagination
|
||||
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
|
||||
filterset_fields = {
|
||||
'pedimento': ['exact'], # Filtro directo por UUID del pedimento
|
||||
'pedimento__id': ['exact'], # Filtro alternativo
|
||||
'numero_partida': ['exact', 'gte', 'lte'], # Filtros por número de partida
|
||||
'descargado': ['exact'], # Filtro por estado de descarga
|
||||
'created_at': ['exact', 'gte', 'lte'], # Filtros por fecha de creación
|
||||
'updated_at': ['exact', 'gte', 'lte'] # Filtros por fecha de actualización
|
||||
}
|
||||
search_fields = ['pedimento__pedimento', 'pedimento__pedimento_app']
|
||||
ordering_fields = ['numero_partida', 'pedimento__pedimento', 'id', 'created_at', 'updated_at']
|
||||
ordering = ['numero_partida'] # Ordenar por número de partida por defecto
|
||||
|
||||
my_tags = ['Partidas']
|
||||
|
||||
|
||||
|
||||
class ViewSetTipoOperacion(LoggingMixin, viewsets.ModelViewSet):
|
||||
"""
|
||||
ViewSet for TipoOperacion model.
|
||||
|
||||
Reference in New Issue
Block a user