diff --git a/cosiap_api/users/urls.py b/cosiap_api/users/urls.py index 4fa218a60e732e9346998324f49dfcb1130443aa..f2564a200e66c3493b7e3f3d0b841b0325895a67 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 07d7fe26821b7405dc49fb5c57884f8f50dcf9e6..06b31a5d83e9a697e8b24035f0540900e6992eac 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): '''