예제 #1
0
def api_login(request):
    """
    Valida a compra com apple e google e cria um token de acesso
    :param apple_receipt <str>: Recibo de compra da apple
    :param device <str>: Sistema operacional do aparelho, IOS ou AND
    :return: response<json> - Retorna o token de acesso
    """
    response = {
        "status": "failure",
    }

    data = json.loads(request.body)

    if data['device'] == 'IOS':
        resposta = get_apple_validate(data['apple_receipt'])
    elif data['device'] == 'AND':
        resposta = {
            "status": False,
        }

    if resposta['status']:
        cliente = Cliente(token=binascii.hexlify(os.urandom(20)).decode())
        cliente.save()

        if cliente:
            response = {
                "status": "success",
                "token": cliente.token
            }

    return Response(response)
예제 #2
0
def cria_cliente(request):
    if request.method == 'POST':
        form_cliente = ClienteForm(request.POST)
        form_usuario = UserCreateForm(request.POST)
        print form_cliente.is_valid()
        print form_usuario.is_valid()
        if form_cliente.is_valid() and form_usuario.is_valid():
            nome = form_cliente.cleaned_data['nome']
            endereco = form_cliente.cleaned_data['endereco']
            telefone = form_cliente.cleaned_data['telefone']
            cliente = Cliente(nome=nome, endereco=endereco, telefone=telefone)
            username = form_usuario.cleaned_data['username']
            email = form_usuario.cleaned_data['email']
            password = form_usuario.cleaned_data['password']
            user = User.objects.create_user(username, email, password)
            user.save()
            grupo_cliente = Group.objects.get(name='cliente')
            user.groups.add(grupo_cliente)
            cliente.usuario = user
            cliente.save()
            return HttpResponseRedirect('/pizzer/clientes/')
    else:
        form_cliente = ClienteForm()
        form_usuario = UserCreateForm()
    return render_to_response('criacao_cliente.html', {'form_cliente': form_cliente, 'form_usuario': form_usuario}, context_instance=RequestContext(request))
예제 #3
0
def api_login(request):
    """
    Valida a compra com apple e google e cria um token de acesso
    :param apple_receipt <str>: Recibo de compra da apple
    :param device <str>: Sistema operacional do aparelho, IOS ou AND
    :return: response<json> - Retorna o token de acesso
    """
    response = {
        "status": "failure",
    }

    data = json.loads(request.body)

    if data['device'] == 'IOS':
        resposta = get_apple_validate(data['apple_receipt'])
    elif data['device'] == 'AND':
        resposta = {
            "status": False,
        }

    if resposta['status']:
        cliente = Cliente(token=binascii.hexlify(os.urandom(20)).decode())
        cliente.save()

        if cliente:
            response = {"status": "success", "token": cliente.token}

    return Response(response)
예제 #4
0
    def save(self, *args, **kwargs):
        """
        guarda o actualiza a el usuario y a los datos del cliente
        retorna el cliente creado o actualizado
        """
        cd=self.cleaned_data
        Id = cd.get('id')
        try:
            u = Cliente.objects.get(id=Id).usuario
        except:
            u = ''

        if u:
            u.username=cd['username']
            u.first_name=cd['first_name']
            u.last_name=cd['last_name']
            u.email=cd['email']
        else:
            u = User(username=cd['username'],
                     first_name=cd['first_name'],
                     last_name=cd['last_name'],
                     email=cd['email'],
                     is_active=True)
        pw = cd.get('password1')
        if pw:
            u.set_password(cd['password1'])
        u.save()
        c = Cliente(id = Id,
                    usuario = u,
                    direccion = cd['direccion'],
                    provincia = cd['provincia'],
                    recibir_email = cd['recibir_email'],
                    rastrear_proyectos = cd['rastrear_proyectos'],)
        if cd['codigo_corredor']:
            c.corredor = cd['codigo_corredor']
            c.tipo = 'C'

        c.save()
        
        c.rubros.clear()
        for rubro in cd['rubros']:
            c.rubros.add(rubro)

        c.proyectos.clear()
        for proyecto in cd['proyectos']:
            c.proyectos.add(proyecto)
        
        return c
예제 #5
0
def main():

    r = Matematica.soma(2, 3)
    print(r)

    produto1 = Produto(1, 'Pão francês', 0.35, 13234, 80)
    produto2 = Produto(2, 'Pão de batata', -0.80, 43215)
    produto3 = Produto(3, 'Rosquinha de canela', 0.80, 654324)

    produto4 = Frio(4, 'Salame', -13, 6543)

    produto5 = Bebidas(5, 'Coca-cola', 5.6, 903543)
    produto6 = Bebidas(6, 'Vinho', -5.6, 987643, 600, True)
    produto8 = Quente(8, 'Dogão', -5.6, 987643, 600)

    produto1.vendedor = 'Bruno p.'
    produto2.atualizar('Pão potato', 1.20)

    cliente = Cliente('Eduardo')
    carrinho = Carrinho(123456, cliente)

    carrinho.incluir_produto(produto1)
    carrinho.incluir_produto(produto2)
    carrinho.incluir_produto(produto3)
    carrinho.incluir_produto(produto4)
    carrinho.incluir_produto(produto5)
    carrinho.incluir_produto(produto6)
    carrinho.incluir_produto(produto8)

    print(carrinho)
예제 #6
0
def save_profile_picture(backend, user, response, details,is_new=False,*args,**kwargs):
	if is_new==False and backend.name == 'facebook':
		url = 'http://graph.facebook.com/{0}/picture'.format(response['id'])

		try:
			response = request('GET', url, params={'type': 'large'})
			response.raise_for_status()
		except HTTPError:
			pass
		else:
			try:
				profile = Cliente.objects.get(usuario=user)
			except Cliente.DoesNotExist:
				profile = Cliente(usuario=user)
			profile.foto.save('{0}_social.jpg'.format(user.username),
									ContentFile(response.content))
			profile.save()
예제 #7
0
def editar_cliente(chave):
  cliente = Cliente.get(chave)
  form = ClienteForm(request.form, cliente)
  if request.method == 'POST' and form.validate():
    form.populate_obj(cliente)
    cliente.put()
    flash('Cliente alterado com sucesso!')
    return redirect(url_for('listar_clientes'))
  return render_template('editar_cliente.html', chave=chave, form=form)
예제 #8
0
def editar_cliente(chave):
    cliente = Cliente.get(chave)
    form = ClienteForm(request.form, cliente)
    if request.method == 'POST' and form.validate():
        form.populate_obj(cliente)
        cliente.put()
        flash('Cliente alterado com sucesso!')
        return redirect(url_for('listar_clientes'))
    return render_template('editar_cliente.html', chave=chave, form=form)
예제 #9
0
def excluir_cliente(chave):
  cliente = Cliente.get(chave)
  if request.method == 'POST':
    if not cliente.tem_pedidos():
      cliente.delete()
      flash('Cliente excluido com sucesso!')
      return redirect(url_for('listar_clientes'))
    flash('Cliente nao pode ser excluido, pois possui pedido(s) associado(s)')
  return render_template('excluir_cliente.html', cliente=cliente)
예제 #10
0
    def save(self, formset_telefonos, formset_areas):
        """
        Guarda al nuevo cliente con sus preferencias y crea un usuario
        """
        usuario = User.objects.create_user(
            username=self.cleaned_data['email'],
            email=self.cleaned_data['email'],
            password=self.cleaned_data['contrasena']
        )
        usuario.first_name = self.cleaned_data['nombre']
        usuario.last_name = self.cleaned_data['apellido']
        usuario.is_active = False
        usuario.save()
        cliente = Cliente(usuario=usuario)
        cliente.recibir_email = self.cleaned_data['recibir_email']
        cliente.rastrear_proyectos = self.cleaned_data['rastrear_proyectos']
        cliente.direccion = self.cleaned_data['direccion']
        cliente.provincia = self.cleaned_data['provincia']
        cliente.save()
        for rubro in self.cleaned_data['rubros_interes']:
            cliente.rubros.add(rubro)
        for form_telefono in formset_telefonos.forms:
            telefono = form_telefono.save()
            cliente.telefonos.add(telefono)
        proyectos = []
        for form_area in formset_areas.forms:
            area_interes = form_area.save()
            proyectos += list(Proyecto.accepted.filter(
                latitud__lte=area_interes.high_latitud,
                latitud__gte=area_interes.low_latitud,
                longitud__lte=area_interes.high_longitud,
                longitud__gte=area_interes.low_longitud,
            ))
            cliente.areas_interes.add(area_interes)
        cliente.save()
        for proyecto in proyectos:
            proyecto.clientes.add(cliente)

        send_html_mail("*****@*****.**",
                       u"Confirmar registro en Quimera Inmobiliaria",
                       "confirmar_registro.html",
                        {"cliente": cliente,
                         "sitio": Site.objects.get_current(),
                         #"proyectos": proyectos,
                         'STATIC_URL':settings.STATIC_URL,
                         'inmobiliaria':Inmobiliaria.objects.get(id=1)
                         },
                       cliente.usuario.email)
예제 #11
0
def excluir_cliente(chave):
    cliente = Cliente.get(chave)
    if request.method == 'POST':
        if not cliente.tem_pedidos():
            cliente.delete()
            flash('Cliente excluido com sucesso!')
            return redirect(url_for('listar_clientes'))
        flash(
            'Cliente nao pode ser excluido, pois possui pedido(s) associado(s)'
        )
    return render_template('excluir_cliente.html', cliente=cliente)
예제 #12
0
파일: services.py 프로젝트: exildev/Bee
 def add_cliente(self,request):
     print request.POST
     if request.method == "POST" :
         form = ClienteForm(request.POST)
         if form.is_valid() :
             username = form.cleaned_data['username']
             password = form.cleaned_data['password_one']
             email = form.cleaned_data['email']
             u = User.objects.create_user(username=username, email=email,
                                          password=password)
             u.set_password(raw_password=password)
             u.is_active = True
             u.save()
             cli = Cliente(usuario=u)
             cli.save()
             return True,[username,password]
         #end if
         return False,form
     #end if
     return False,ClienteForm()
예제 #13
0
def validarCedulaCliente(cedula):
    cliente = None
    archivoCliente = open(RUTA_ARCHIVO, 'r')
    for linea in archivoCliente.readlines():
        atributos = linea.split(';')
        if cedula == atributos[0]:  #Si encuentro el cliente
            cliente = Cliente(atributos[0], atributos[1], atributos[2],
                              atributos[3], atributos[4])
            break
    archivoCliente.close()
    return cliente
예제 #14
0
def crearCliente():
    cedula = input('Cédula: ')
    nombres = input('Nombres Completo: ')
    direccion = input('Dirección: ')
    telefono = input('Teléfono: ')
    email = input('Correo electrónico: ')

    #Creo el objeto de la clase Cliente
    cliente = Cliente(cedula, nombres, direccion, telefono, email)

    archivoCli = open(RUTA_ARCHIVO, 'a')
    archivoCli.write(str(cliente))
    archivoCli.close()
예제 #15
0
def novo_cliente():
    form = ClienteForm(request.form)
    if request.method == 'POST' and form.validate():
        Cliente(parent=cliente_key(),
                nome=form.nome.data,
                telefone=form.telefone.data,
                celular=form.celular.data,
                email=form.email.data,
                im=form.im.data,
                endereco=form.endereco.data,
                observacao=form.observacao.data).put()
        flash('Cliente criado com sucesso!')
        return redirect(url_for('listar_clientes'))
    return render_template('novo_cliente.html', form=form)
예제 #16
0
def save_profile_picture(backend,
                         user,
                         response,
                         details,
                         is_new=False,
                         *args,
                         **kwargs):
    if is_new == False and backend.name == 'facebook':
        url = 'http://graph.facebook.com/{0}/picture'.format(response['id'])

        try:
            response = request('GET', url, params={'type': 'large'})
            response.raise_for_status()
        except HTTPError:
            pass
        else:
            try:
                profile = Cliente.objects.get(usuario=user)
            except Cliente.DoesNotExist:
                profile = Cliente(usuario=user)
            profile.foto.save('{0}_social.jpg'.format(user.username),
                              ContentFile(response.content))
            profile.save()
예제 #17
0
def creaCliente():
    clienteForm = forms.ClienteForm(request.form)
    if request.method == 'POST' and clienteForm.validate():
        cliente = Cliente(
            username=clienteForm.username.data,
            email=clienteForm.email.data,
            password=clienteForm.password.data,
        )

        db.session.add(cliente)
        db.session.commit()

        success_message = "Usuario nuevo creado existosamente"
        flash(success_message)

        return redirect(url_for('login'))
    return render_template('register.html', form=clienteForm)
예제 #18
0
def clientes():
    alert = "alert-warning"
    if request.method == "POST":

        result = db.session.query(Cliente).filter(
            Cliente.dni == request.form.get("dni_cliente"))
        for i in result:
            if request.form.get("dni_cliente") == i.dni:
                flash("Ese cliente ya existe")
                alert = "alert-warning"
                return render_template("clientes.html", alert=alert)

        NuevoCli = Cliente(session["user_id"],
                           request.form.get("nombre_cliente"),
                           request.form.get("apellido_cliente"),
                           request.form.get("direccion_cliente"),
                           request.form.get("email_cliente"),
                           request.form.get("telefono_cliente"),
                           request.form.get("dni_cliente"))
        db.session.add(NuevoCli)
        db.session.commit()
        flash("Cliente creado")
        alert = "alert-success"
    return render_template("clientes.html", alert=alert)
예제 #19
0
def detalhar_cliente(chave):
    cliente = Cliente.get(chave)
    return render_template('detalhar_cliente.html', cliente=cliente)
예제 #20
0
def listar_clientes():
    clientes_query = Cliente.all().ancestor(cliente_key()).order('nome')
    clientes = clientes_query.run()
    return render_template('listar_clientes.html', clientes=clientes)
예제 #21
0
from daoTeste import Session
from models import Cliente

session = Session()

cliente = Cliente('Samuel', 1.71, '31-12-1998')
cliente2 = Cliente('Marcos', 1.67, '05-02-2008')

session.add(cliente)
session.commit()
session.close()
예제 #22
0
def listar_clientes():
  clientes_query = Cliente.all().ancestor(cliente_key()).order('nome')
  clientes = clientes_query.run()
  return render_template('listar_clientes.html', clientes=clientes)
def crearusuario():

    if request.method == 'POST':
        nombreCompleto = request.json.get('nombreCompleto')
        correo = request.json.get('correo')
        contrasenia = request.json.get('contrasenia')
        telefono = request.json.get('telefono')
        direccion = request.json.get('direccion')
        numero = request.json.get('numero')
        comuna = request.json.get('comuna')
        tipoVivienda = request.json.get('tipoVivienda')
        numDepto = request.json.get('numDepto')

        if not nombreCompleto:
            return jsonify({"msg": "Nombre Completo es requerido"}), 400
        if not correo: return jsonify({"msg": "correo es requerido"}), 400
        if not contrasenia:
            return jsonify({"msg": "contrasenia es requerida"}), 400
        if not telefono: return jsonify({"msg": "telefono es requerido"}), 400
        if not direccion:
            return jsonify({"msg": "direccion es requerido"}), 400
        if not numero: return jsonify({"msg": "numero es requerida"}), 400
        if not comuna:
            return jsonify({"msg": "comuna Completo es requerido"}), 400
        if not tipoVivienda:
            return jsonify({"msg": "tipoVivienda es requerido"}), 400
        if not numDepto: return jsonify({"msg": "numDepto es requerido"}), 400

        usuario = Cliente.query.filter_by(correo=correo).first()
        if usuario:
            return jsonify({"error": "ERROR", "msg": "Usuario ya existe"}), 400

        usuario = Cliente()
        usuario.nombreCompleto = nombreCompleto
        usuario.correo = correo
        usuario.contrasenia = generate_password_hash(contrasenia)
        usuario.telefono = telefono
        usuario.direccion = direccion
        usuario.numero = numero
        usuario.comuna = comuna
        usuario.tipoVivienda = tipoVivienda
        usuario.numDepto = numDepto
        usuario.estado = "activo"
        usuario.f_creacion = datetime.date.today()
        usuario.f_modificacion = None
        usuario.f_eliminacion = None
        usuario.save()

        if not usuario: return jsonify({"msg": "Registro Fallido!!!"}), 400

        #expires = datetime.timedelta(days=1)
        #access_token = create_access_token(identity=user.id, expires_delta=expires)

        data = {
            "msg": "Usuario creado y activo",
            "usuario": usuario.serialize(),
        }

        return jsonify(data), 201

    if request.method == 'GET':
        usuarios = Cliente.query.all()
        if not usuarios:
            return jsonify({"msg": "No se encontraron registros"}), 404
        usuarios = list(map(lambda usuarios: usuarios.serialize(), usuarios))

        return jsonify(usuarios), 200
예제 #24
0
def detalhar_cliente(chave):
  cliente = Cliente.get(chave)
  return render_template('detalhar_cliente.html', cliente=cliente)