Se agrego filtro de organizacion a datastage y pedimentos
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
from django.urls import path, include
|
||||
from .views import ExportModelView, dashboard_summary
|
||||
from .views_stats import documentos_por_fecha
|
||||
from .views_table import table_summary
|
||||
# from .views_stats import documentos_por_fecha
|
||||
# from .views_table import table_summary
|
||||
|
||||
urlpatterns = [
|
||||
path('exportmodel/', ExportModelView.as_view(), name='export-model'),
|
||||
path('dashboard/summary/', dashboard_summary, name='dashboard-summary'),
|
||||
#path('dashboard/summary/', dashboard_summary, name='dashboard-summary'),
|
||||
#path('documentos-por-fecha/', documentos_por_fecha, name='documentos-por-fecha'),
|
||||
#path('table-summary/', table_summary, name='table-summary'),
|
||||
|
||||
|
||||
@@ -148,31 +148,6 @@ class ExportModelView(APIView):
|
||||
permission_classes = [IsAuthenticated & (
|
||||
IsSameOrganization | IsSameOrganizationAndAdmin | IsSameOrganizationDeveloper | IsSuperUser)]
|
||||
|
||||
@swagger_auto_schema(manual_parameters=[openapi.Parameter('model', openapi.IN_QUERY, description="Nombre del modelo (ejemplo: Registro500)",
|
||||
type=openapi.TYPE_STRING, required=True)
|
||||
],
|
||||
responses={200: openapi.Response('Campos disponibles', schema=openapi.Schema(
|
||||
type=openapi.TYPE_OBJECT,
|
||||
properties={
|
||||
'fields': openapi.Schema(type=openapi.TYPE_ARRAY, items=openapi.Items(type=openapi.TYPE_STRING))
|
||||
}
|
||||
))}
|
||||
)
|
||||
def get(self, request, *args, **kwargs):
|
||||
"""
|
||||
Devuelve los campos disponibles para el modelo solicitado.
|
||||
Ejemplo: /api/reports/exportmodel/?model=Registro500
|
||||
"""
|
||||
model_name = request.query_params.get('model')
|
||||
if not model_name:
|
||||
return Response({'error': 'model is required'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
try:
|
||||
model = apps.get_model('datastage', model_name)
|
||||
except LookupError:
|
||||
return Response({'error': f'Model {model_name} not found'}, status=status.HTTP_404_NOT_FOUND)
|
||||
fields = [f.name for f in model._meta.fields]
|
||||
return Response({'fields': fields})
|
||||
|
||||
@swagger_auto_schema(request_body=ExportModelSerializer, esponses={200: 'Archivo generado (Excel o CSV)'})
|
||||
def post(self, request, *args, **kwargs):
|
||||
model_name = request.data.get('model')
|
||||
|
||||
Reference in New Issue
Block a user