Example #1
0
 def ejecutaraccionList(self, request,accion=None,*args, **kwargs):
     accion=accion.lower()
     miaccion=factorias.FactoriaAccion.getAcciones(self.getAplic(),self.getModelName(),'Q').get(accion,None)        
     if miaccion: 
         query=dict()           
         query["ORDER"]=filtersPagination._getOrder(request.query_params,"o_")
         query["FILTER"]=filtersPagination._getsearchParam(request.query_params,self.get_serializer(partial=True))
         miaccionobj=miaccion(query=query)
         resul=miaccionobj.ejecutarExterna(request.data)
         return Response(resul)
     else:
         #TODO:Tratamiento de acciones individuales como multiples
         miaccion=factorias.FactoriaAccion.getAcciones(self.getAplic(),self.getModelName(),'I').get(accion,None)        
         bRESUL=not ('a_NORESUL' in request.query_params)
         if miaccion:
             queryset = self.filter_queryset(self.get_queryset())
             resul2=list()
             for obj in queryset:
                 miaccionobj=miaccion(pk=obj.pk)
                 resul=miaccionobj.ejecutarExterna(request.data)
                 if bRESUL:
                     resul2.append(resul)
             return Response(resul2)
         else:
             log.error("Accion Query no registrada %s",accion)
             raise exceptions.APIException(_("Accion no existente %s")%accion)
Example #2
0
 def ejecutaraccionAux(self, request, accion=None,*args, **kwargs):
     accion=accion.lower()
     miaccion=factorias.FactoriaAccion.getAcciones(self.getAplic(),self.getModelName(),'O').get(accion,None)                
     
     if miaccion:
         if 'a_BULK' in request.query_params:
             bRESUL=not ('a_NORESUL' in request.query_params)                
             serializador=miaccion.serializerClassIN(many=True,data=request.data)
             serializador.is_valid(raise_exception=True)
             milista=serializador.validated_data
             resul2=list()
             for elem in milista:
                 miaccionobj=miaccion()
                 resul=miaccionobj.ejecutarExterna(elem)
                 if bRESUL:
                     resul2.append(resul)
             return Response(resul2)
         else:
             miaccionobj=miaccion()
             resul=miaccionobj.ejecutarExterna(request.data)
             return Response(resul)
     else:            
         log.error("Accion Otra no registrada %s",accion)
         raise exceptions.APIException(_("Accion no existente %s")%accion)
     pass
Example #3
0
def toJSON(obj,optimizar=True):
    try:
        if optimizar:            
            return json.dumps(obj,cls=miEncoder,indent=(4 if settings.DEBUG else 0))
        else:
            return json.dumps(obj)
    except Exception as e:
        log.error("Error al pasar a JSON")
        raise
Example #4
0
def toJSON(obj, optimizar=True):
    try:
        if optimizar:
            return json.dumps(obj,
                              cls=miEncoder,
                              indent=(4 if settings.DEBUG else 0))
        else:
            return json.dumps(obj)
    except Exception:
        log.error("Error al pasar a JSON")
        raise
Example #5
0
 def ejecutaraccionInd(self, request, accion=None,pk=None,*args, **kwargs):
     #Obtener accion
     accion=accion.lower()
     miaccion=factorias.FactoriaAccion.getAcciones(self.getAplic(),self.getModelName(),'I').get(accion,None)
     if miaccion:
         #Control de acciones BULK
         if (pk=='_BULK') or ('a_BULK' in request.query_params):
             #Cambiamos serializador de entrada por este
             bconDatosIN=not(miaccion.serializerClassIN is None)
             #opcion NORESUL
             bRESUL=not ('a_NORESUL' in request.query_params)
             #if bconDatosIN:
             #    class miserBULK(serializers.serializers.Serializer):
             #        PK =serializers.serializers.CharField
             #        DATAIN=miaccion.serializerClassIN(partial=True,required=True)
             #    clsSerializerIN=miserBULK                
             #else:
             #    class miserBULK2(serializers.serializers.Serializer):
             #        PK =serializers.serializers.CharField                    
             #    clsSerializerIN=miserBULK2
             #serializador=clsSerializerIN(many=True,partial=True,data=request.data)   
             #serializador.is_valid(raise_exception=True)
             #milista=serializador.validated_data
             milista=request.data
             resul2=list()
             for elem in milista:
                 miaccionobj=miaccion(pk=elem['PK'])
                 if bconDatosIN:
                     resul=miaccionobj.ejecutarExterna(elem['DATAIN'])
                 else:
                     resul=miaccionobj.ejecutarExterna({})
                 if bRESUL:
                     resul2.append(resul)                
             return Response(resul2)
         #ACCIONES NORMALES
         else:
             miaccionobj=miaccion(pk=pk)
             resul=miaccionobj.ejecutarExterna(request.data)
             return Response(resul)
     else:
         log.error("Accion individual no registrada %s",accion)
         raise exceptions.APIException(_("Accion no existente %s")%accion)