def query_by_ruta(cls, urlkey_ruta, filtro=False): if filtro: ruta_key = ndb.Key(urlsafe=urlkey_ruta) return Cliente.query(ndb.AND(Cliente.ruta == ruta_key, Cliente.credito_activo == False)).order(Cliente.nombres).fetch() else: ruta_key = ndb.Key(urlsafe=urlkey_ruta) return Cliente.query(Cliente.ruta == ruta_key).order(Cliente.nombres).fetch()
def delete_client(self, request): cliente = Cliente.get_by_id(request.id) if not cliente: # If the stock doesn't exist, raise an error raise endpoints.BadRequestException("El ID de ese cliente no existe") cliente.key.delete() # If the stock exists, it removes it from the database time.sleep(1) clientes = Cliente.query().fetch() return ClientListResponse(clientes=[ClientApiHelper().to_message(cliente) for cliente in clientes if clientes])
def existe_documento(cls, documento): if documento: if Cliente.query(Cliente.documento == documento).fetch(): return True else: return False else: return False
def create_client(self, request): if not (request.documento and request.ruta and request.nombres and request.apellidos): raise endpoints.BadRequestException('Los datos: documento, ruta, nombres y apellidos, son obligatorios.') alert = ClientHelper.nuevo_registro( request.documento, request.ruta, request.nombres, request.apellidos, request.dir_casa, request.tel_casa, request.celular, request.nombre_est, request.dir_est) if alert[0] == "alert-danger": raise endpoints.BadRequestException(alert[1]) time.sleep(1) clientes = Cliente.query().fetch() return ClientListResponse(clientes=[ClientApiHelper().to_message(cliente) for cliente in clientes if clientes])
def update_client(self, request): cliente = Cliente.get_by_id(request.id) if not cliente: # If the stock doesn't exist, raise an error raise endpoints.BadRequestException("El ID de ese cliente no existe") if not (request.documento and request.ruta and request.nombres and request.apellidos): raise endpoints.BadRequestException('Los datos: documento, ruta, nombres y apellidos, son obligatorios.') alert = ClientHelper.actualizar_registro( cliente.key, request.documento, request.ruta, request.nombres, request.apellidos, request.dir_casa, request.tel_casa, request.celular, request.nombre_est, request.dir_est) if alert[0] == "alert-danger": raise endpoints.BadRequestException(alert[1]) time.sleep(1) clientes = Cliente.query().fetch() return ClientListResponse(clientes=[ClientApiHelper().to_message(cliente) for cliente in clientes if clientes])
def has_children(cls, key): key = ndb.Key(urlsafe=key) kind = key.kind() children = 0 if kind == 'Ciudad': children += Ruta.query(Ruta.ciudad == key).count() elif kind == 'Ruta': children += Abono.query(Abono.ruta == key).count() children += Cliente.query(Cliente.ruta == key).count() children += Credito.query(Credito.ruta == key).count() children += Transaccion.query(Transaccion.ruta == key).count() children += User.query(User.ruta == key).count() elif kind == 'Cliente': pass elif kind == 'Credito': pass return True if children > 0 else False
def get_clients(self, request): clientes = Cliente.query().fetch() return ClientListResponse(clientes=[ClientApiHelper().to_message(cliente) for cliente in clientes if clientes])
def query_all(cls, filtro=False): if filtro: return Cliente.query(Cliente.credito_activo == False).order(Cliente.nombres).fetch() else: return Cliente.query().order(Cliente.nombres).fetch()