From 6567ef0074e96f6f73cfb5a49c15ce7433efc695 Mon Sep 17 00:00:00 2001 From: AdalbertoCV <34152734@uaz.edu.mx> Date: Fri, 4 Oct 2024 21:08:41 -0600 Subject: [PATCH] Obtener datos bancarios, admin --- cosiap_api/users/urls.py | 3 ++- cosiap_api/users/views.py | 39 ++++++++++++++++++++++++++++----------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/cosiap_api/users/urls.py b/cosiap_api/users/urls.py index 4fa218a..f2564a2 100644 --- a/cosiap_api/users/urls.py +++ b/cosiap_api/users/urls.py @@ -17,11 +17,12 @@ urlpatterns = [ path('municipios/', views.RetreiveMunicipioAPIView.as_view(), name='municipios'), path('estados/', views.RetreiveEstadoAPIView.as_view(), name='estados'), - path('', views.UsuarioAPIView.as_view(), name = 'usuarios'), + path('', views.UsuarioAPIView.as_view(), name = 'usuarios'), path('/', views.UsuarioAPIView.as_view(), name = 'usuarios_pk'), path('solicitantes/', views.SolicitanteAPIView.as_view(), name = 'solicitantes'), path('solicitantes/', views.SolicitanteAPIView.as_view(), name = 'solicitantes_pk'), path('datos-bancarios/', views.DatosBancariosAPIView.as_view(), name = 'datos_bancarios'), + path('datos-bancarios/', views.DatosBancariosAPIView.as_view(), name = 'datos_bancarios_pk'), path('verificar-correo///', views.VerificarCorreo.as_view(), name='verificar_correo'), path('restablecer-password/', views.ResetPassword.as_view(), name='reset_password'), path('nueva-password///', views.NuevaPassword.as_view(), name='nueva_password'), diff --git a/cosiap_api/users/views.py b/cosiap_api/users/views.py index 07d7fe2..06b31a5 100644 --- a/cosiap_api/users/views.py +++ b/cosiap_api/users/views.py @@ -234,18 +234,35 @@ class DatosBancariosAPIView(BasePermissionAPIView): Función get para obtener los datos bancarios del solicitante que realiza la petición. ''' data = {} + user = request.user + + if 'pk' in kwargs: + try: + if user.is_staff: + solicitante = Solicitante.objects.get(id = kwargs['pk']) + # obtenemos los datos bancarios asociados al solicitante + datos_bancarios = DatosBancarios.objects.get(solicitante = solicitante) + serializer = DatosBancariosSerializer(instance = datos_bancarios) + data['data'] = serializer.data + return Response(data, status = status.HTTP_200_OK) + else: + Mensaje.error(data, 'Usted no tiene permisos para realizar esta acción.') + return Response(data, status = status.HTTP_400_BAD_REQUEST) + except Exception as e: + Mensaje.error(data, str(e)) + return Response(data, status = status.HTTP_400_BAD_REQUEST) - try: - user = request.user - solicitante = Solicitante.objects.get(id = user.id) - # obtenemos los datos bancarios asociados al solicitante - datos_bancarios = DatosBancarios.objects.get(solicitante = solicitante) - serializer = DatosBancariosSerializer(instance = datos_bancarios) - data['data'] = serializer.data - return Response(data, status = status.HTTP_200_OK) - except Exception as e: - Mensaje.error(data, str(e)) - return Response(data, status = status.HTTP_400_BAD_REQUEST) + else: + try: + solicitante = Solicitante.objects.get(id = user.id) + # obtenemos los datos bancarios asociados al solicitante + datos_bancarios = DatosBancarios.objects.get(solicitante = solicitante) + serializer = DatosBancariosSerializer(instance = datos_bancarios) + data['data'] = serializer.data + return Response(data, status = status.HTTP_200_OK) + except Exception as e: + Mensaje.error(data, str(e)) + return Response(data, status = status.HTTP_400_BAD_REQUEST) def post(self, request, *args, **kwargs): ''' -- GitLab