Пример #1
0
def salvar(request, id=None):
    dados = {}

    form = ClienteForm(request.POST or None)
    formEndereco = EnderecoForm(request.POST or None)

    if form.is_valid() and formEndereco.is_valid():
        cliente = form.save(commit=False)

        if id not in (None, '0'):
            cliente.id = id
            cliente.data_cadastro = Cliente.objects.get(id=id).data_cadastro

        cliente.endereco = formEndereco.save()

        empresa = Funcionario.objects.get(usuario=request.user).empresa
        cliente.empresa = empresa
        cliente.ativo = True
        cliente.save()
        mensagem = 'Cliente salvo com sucesso!'
        return detalhe(request, cliente.id, mensagem)
    else:
        dados['form'] = form
        dados['formEndereco'] = formEndereco
        dados['erros'] = form.errors
        return render(request, template_novo, dados)
Пример #2
0
def clienteAdd(request):
    if request.method=='POST':
        formulario=ClienteForm(request.POST)
        if formulario.is_valid():
            formulario.save()
            return HttpResponseRedirect('/clientes')
    else:
        formulario=ClienteForm()
    return render_to_response('facturacion/clienteAdd.html',
                              {'formulario':formulario},
                              context_instance=RequestContext(request))
Пример #3
0
def clienteEdit (request, id):
        cliente_edit= Cliente.objects.get(pk=id)
        if request.method == 'POST':
            formulario = ClienteForm(request.POST, instance = cliente_edit)
            if formulario.is_valid():
                formulario.save()
                return HttpResponseRedirect("/clientes")
        else:
            formulario = ClienteForm(instance= cliente_edit)
        return render_to_response('facturacion/clienteEdit.html',
                    {'formulario': formulario},
                    context_instance = RequestContext(request))
Пример #4
0
def cliente_nuevo(request):
    clienteF = ClienteForm

    if request.POST:
        clienteF = ClienteForm(request.POST or None)
        if clienteF.is_valid():
            obj = clienteF.save(commit=False)
            obj.save()
    context = {
        "cliente": clienteF,
    }
    return render(request, 'clientes/cliente_nuevo.html', context)
Пример #5
0
def cliente_view(request):
    if request.method == 'POST':
        form = ClienteForm(request.POST)
        if form.is_valid():
            form.save()
        return HttpResponseRedirect('/clientes/list/gracias/')
    else:
        form = ClienteForm()
    return render(request, 'clientes/cliente_form.html', {'form': form})
Пример #6
0
def cliente_update(request, cod_cliente):    

    if request.method == 'POST':
        form = ClienteForm(request.POST)
        try:
            if form.is_valid():
               
                saved = form.save(commit=True)

                return HttpResponseRedirect("/cliente/" + str(saved.pk) + "/")

            else:
             
                print form.errors
                return render(request, 'cliente_update.html', {'form': form, 'cod_cliente':cod_cliente})
        except ValueError:      
            print "Errors validating..."          
    else:
        cliente = cliente.objects.filter(cod_cliente = cod_cliente).first()
        form = ClienteForm(instance=cliente)
        return render(request, 'cliente_update.html', {'form': form, 'cod_cliente':cod_cliente})
Пример #7
0
def cliente_edit(request, cliente_id):
    cliente = Cliente.objects.get(pk=cliente_id)
    if request.method == 'GET':
        form = ClienteForm(instance=cliente)
    else:
        form = ClienteForm(request.POST, instance=cliente)
        if form.is_valid():
            form.save()
        return HttpResponseRedirect('/clientes/list/listar')
    return render(request, 'clientes/cliente_form.html', {'form': form})
Пример #8
0
def cliente_new(request):    
    
    if request.method == 'POST':
        form = ClienteForm(request.POST)
        try:
        
            if form.is_valid():
 
                saved = form.save(commit=True)
                return HttpResponseRedirect("/clientes/" + str(saved.pk) + "/")

            else:
                
                print form.errors
        except ValueError:
            print "Errors validating..."
    else:
        
        form = ClienteForm()

   
    return render(request, 'cliente_new.html', {'form': form})
Пример #9
0
def AtenderTurnoView(request, turno):
    usuario = request.user
    turno = Turno.objects.get(pk=turno)
    turno.hora_inicio_turno = timezone.now()
    turno.cajero = usuario
    turno.sucursal = usuario.sucursal
    turno.save()
    form = ClienteForm()
    return render(request, 'cajero/atender_turno.html', {
        'form': form,
        'usuario': usuario,
        'turno': turno
    })
Пример #10
0
def editar(request, id, mensagem=None):
    dados = {}
    dados['mensagem'] = mensagem
    dados['modo'] = 'EDICAO'

    cliente = get_object_or_404(Cliente, id=id)
    form = ClienteForm(instance=cliente)
    dados['form'] = form

    form_endereco = EnderecoForm(instance=cliente.endereco)
    dados['formEndereco'] = form_endereco

    dados['cliente'] = cliente
    dados['imoveis'] = Imovel.objects.filter(proprietario=cliente)
    return render(request, template_detalhe, dados)
Пример #11
0
def alta_cliente(request):
    if request.method == 'POST':
        form = ClienteForm(request.POST)
        if form.is_valid():
            cliente = form.save()
            correos_alta_cliente(cliente.usuario.email)
            return render(request, 'clientes/alta-cliente-finalizada.html')
    else:
        form = ClienteForm()
    return render(request, 'clientes/cliente-form.html', {'form': form})
Пример #12
0
def editar_cliente(request, pk):
    cliente = get_object_or_404(Cliente, pk=pk)   
    if request.method == "POST":
        form = ClienteForm(request.POST, instance=cliente)
        if form.is_valid():
            cliente = form.save(commit=False)
            cliente.save()
            return redirect('http://localhost:8000/cliente/clientes-cadastrados', pk=cliente.pk)
    else:
        form = ClienteForm(instance=cliente)
    return render(request, 'editar-cliente.html', {'form': form })
Пример #13
0
def cadastrar_cliente(request):
    context = {}    
    template_name = 'cadastrar-cliente.html'
    if request.method == "POST":
        form = ClienteForm(request.POST)
        if form.is_valid():
            user = form.save()
            return redirect('http://localhost:8000/cliente/cliente-cadastrado/') #TODO criar página de redirecionamento quando o cadastro for efetuado com sucesso.
    else:
        form = ClienteForm()
    context['form'] = form
    return render(request, template_name, context)
Пример #14
0
def detalhe(request, id, mensagem=None):
    dados = {}
    dados['mensagem'] = mensagem

    cliente = get_object_or_404(Cliente, id=id)
    form = ClienteForm(instance=cliente)
    for field in form.fields.values():
        field.widget.attrs['disabled'] = True
    dados['form'] = form

    form_endereco = EnderecoForm(instance=cliente.endereco)
    for field in form_endereco.fields.values():
        field.widget.attrs['disabled'] = True
    dados['formEndereco'] = form_endereco

    dados['cliente'] = cliente
    dados['imoveis'] = Imovel.objects.filter(proprietario=cliente)
    return render(request, template_detalhe, dados)
Пример #15
0
def registrar_cliente(request,id_proyecto=None):
    """
    Formulario para el registro de clientes
    """
    proyectos = Proyecto.objects.all()
    if id_proyecto:
        sel_proyecto = get_object_or_404(Proyecto,id=id_proyecto)
    else:
        sel_proyecto = None

    if request.method == 'POST':
        cliente_form = ClienteForm(request.POST)
        #sin interes por algun proyecto en especifico
        if 'interes' in request.POST:
            if 'registrado' in request.POST:
                email = request.POST['email']
                try:
                    cliente = Cliente.objects.get(email=email)
                except Cliente.DoesNotExist:
                    return direct_response(request,'clientes/registrar_cliente.html',
                                           {'cliente_form': cliente_form,
                                            'proyectos': proyectos,
                                            'sel_proyecto': sel_proyecto,
                                            'invalid_user': True,
                                            'titulo': 'Registro de cliente'})

                # Envío de un mail con la información del proyecto que se solicitó
                try:
                    subject = 'Información de Giant'
                    content = u'Muchas gracias %s por comunicarte con nosotros, nuestros agentes se pondrán en contacto contigo.' % cliente.nombres
                    # TODO: colocar los e-mail correctos
                    msg = EmailMessage(subject,content,'*****@*****.**',
                                       [email])
                    msg.send()
                except BadHeaderError:
                    return HttpResponse('Se encontró una cabecera de e-mail inválida')

                # Envíar un correo al administrador con el comentario
                subject = u"Cambio de preferencia de proyecto de un cliente"
                data = (cliente.nombres,
                        cliente.apellidos,
                        cliente.email,
                        cliente.telefono,
                        request.POST['comentario'],
                        )
                # TODO: colocar los e-mail correctos
                send_html_mail(subject,'informar_cliente_email.html',data,
                               '*****@*****.**',['*****@*****.**',])

                return HttpResponseRedirect(reverse('inicio'))
            else:
                if cliente_form.is_valid():
                    cliente = cliente_form.save(commit=False)
                    user = User.objects.create_user(cliente.email,
                                                    cliente.email,
                                                    '')
                    cliente.user = user
                    cliente.user.save()
                    cliente.save()

                    # Envío de un mail por el registro del cliente
                    try:
                        subject = 'Registro en Giant'
                        content = 'Gracias por registrarte como cliente de Giant, nos pondremos en contacto contigo para responder a tus preguntas.'
                        # TODO: colocar los e-mail correctos
                        msg = EmailMessage(subject,content,'*****@*****.**',
                                           [cliente.email])
                        msg.send()
                    except BadHeaderError:
                        return HttpResponse('Se encontró una cabecera de e-mail inválida')

                    # Envíar un correo al administrador con el comentario
                    subject = u"Registro de cliente"
                    data = (cliente.nombres,
                            cliente.apellidos,
                            cliente.email,
                            cliente.telefono,
                            request.POST['comentario'],
                            )
                    # TODO: colocar los e-mail correctos
                    send_html_mail(subject,'informar_cliente_email.html',data,
                                   '*****@*****.**',['[email protected].',])

                    return HttpResponseRedirect(reverse('inicio'))


        # El cliente ya estaba registrado, sólo desea información sobre un proyecto
        if 'registrado' in request.POST:
            email = request.POST['email']
            try:
                cliente = Cliente.objects.get(email=email)
            except Cliente.DoesNotExist:
                return direct_response(request,'clientes/registrar_cliente.html',
                                       {'cliente_form': cliente_form,
                                        'proyectos': proyectos,
                                        'sel_proyecto': sel_proyecto,
                                        'invalid_user': True,
                                        'titulo': 'Registro de cliente'})
            if 'proyecto' in request.POST:
                id_proyecto = request.POST['proyecto']
            else:
                pass
            if id_proyecto:
                proyecto = Proyecto.objects.get(id=id_proyecto)
                # Nuevo proyecto de interés para un cliente
                cliente.proyecto = proyecto

            cliente.save()

            # Envío de un mail con la información del proyecto que se solicitó
            try:
                subject = 'Información de Giant'
                content = 'La información del proyecto que solicitó se le envió junto a este e-mail como archivo adjunto.'
                # TODO: colocar los e-mail correctos
                msg = EmailMessage(subject,content,'*****@*****.**',
                                   [email])
                if cliente.proyecto.pdf:
                    msg.attach_file(cliente.proyecto.pdf.path)
                else:
                    pass
                msg.send()
            except BadHeaderError:
                return HttpResponse('Se encontró una cabecera de e-mail inválida')

            # Envíar un correo al administrador con el comentario
            subject = u"Cambio de preferencia de proyecto de un cliente"
            data = (cliente.nombres,
                    cliente.apellidos,
                    cliente.email,
                    cliente.telefono,
                    request.POST['comentario'],
                    cliente.proyecto)
            # TODO: colocar los e-mail correctos
            send_html_mail(subject,'registrar_cliente_email.html',data,
                           '*****@*****.**',['*****@*****.**',])

            return HttpResponseRedirect(reverse('inicio'))

        if cliente_form.is_valid():

            cliente = cliente_form.save(commit=False)
            user = User.objects.create_user(cliente.email,
                                            cliente.email,
                                            '')
            cliente.user = user
            cliente.user.save()
            cliente.save()

            # Envío de un mail por el registro del cliente
            try:
                subject = 'Registro en Giant'
                content = 'Gracias por registrarte como cliente de Giant, la información del proyecto que solicitó se le envió junto a este e-mail como archivo adjunto.'
                # TODO: colocar los e-mail correctos
                msg = EmailMessage(subject,content,'*****@*****.**',
                                   [cliente.email])
                if cliente.proyecto.pdf:
                    msg.attach_file(cliente.proyecto.pdf.path)
                else:
                    pass
                msg.send()
            except BadHeaderError:
                return HttpResponse('Se encontró una cabecera de e-mail inválida')

            # Envíar un correo al administrador con el comentario
            subject = u"Registro de cliente"
            data = (cliente.nombres,
                    cliente.apellidos,
                    cliente.email,
                    cliente.telefono,
                    request.POST['comentario'],
                    cliente.proyecto)
            # TODO: colocar los e-mail correctos
            send_html_mail(subject,'registrar_cliente_email.html',data,
                           '*****@*****.**',['[email protected].',])

            return HttpResponseRedirect(reverse('inicio'))

    else:
        cliente_form = ClienteForm()

    return direct_response(request,'clientes/registrar_cliente.html',
                           {'cliente_form': cliente_form,
                            'proyectos': proyectos,
                            'sel_proyecto': sel_proyecto,
                            'invalid_user': False,
                            'titulo': 'Registro de cliente'})
Пример #16
0
def novo_fiador(request):
    dados = {}
    dados['form'] = ClienteForm()
    dados['formEndereco'] = EnderecoForm()
    dados['entidade'] = 'Fiador'
    return render(request, template_novo, dados)
Пример #17
0
 def test_nombre_no_vacio_2(self):
     self.data['nombre'] = ''
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #18
0
def novo(request):
    dados = {}
    dados['form'] = ClienteForm()
    dados['formEndereco'] = EnderecoForm()
    return render(request, template_novo, dados)
Пример #19
0
def novo_locatario(request):
    dados = {}
    dados['form'] = ClienteForm()
    dados['formEndereco'] = EnderecoForm()
    dados['entidade'] = 'Locatário'
    return render(request, template_novo, dados)
Пример #20
0
 def test_servicio_no_vacio(self):
     self.data['servicio'] = None
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #21
0
 def test_email_no_vacio_2(self):
     self.data['email'] = ''
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #22
0
 def test_origen_no_vacio_2(self):
     self.data['origen'] = ''
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #23
0
 def test_telefono_no_vacio_2(self):
     self.data['telefono'] = ''
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #24
0
 def test_origen_no_inventado(self):
     self.data['origen'] = 'pp'
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #25
0
 def test_es_obligatorio_aceptar_la_licencia(self):
     self.data['licencia'] = False
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #26
0
 def test_no_se_puede_repetir_email(self):
     from perfiles.models import Usuario
     Usuario.objects.create(email='*****@*****.**')
     form = ClienteForm(self.data)
     self.assertFalse(form.is_valid())
Пример #27
0
 def test_formulario_completo(self):
     form = ClienteForm(self.data)
     self.assertTrue(form.is_valid())
Пример #28
0
 def test_formulario_no_vacio(self):
     form = ClienteForm({})
     self.assertFalse(form.is_valid())