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)
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})
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})
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})
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))
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 })
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))
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)
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)
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})
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})
def test_nombre_no_vacio_2(self): self.data['nombre'] = '' form = ClienteForm(self.data) self.assertFalse(form.is_valid())
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'})
def test_servicio_no_vacio(self): self.data['servicio'] = None form = ClienteForm(self.data) self.assertFalse(form.is_valid())
def test_email_no_vacio_2(self): self.data['email'] = '' form = ClienteForm(self.data) self.assertFalse(form.is_valid())
def test_origen_no_vacio_2(self): self.data['origen'] = '' form = ClienteForm(self.data) self.assertFalse(form.is_valid())
def test_telefono_no_vacio_2(self): self.data['telefono'] = '' form = ClienteForm(self.data) self.assertFalse(form.is_valid())
def test_origen_no_inventado(self): self.data['origen'] = 'pp' form = ClienteForm(self.data) self.assertFalse(form.is_valid())
def test_es_obligatorio_aceptar_la_licencia(self): self.data['licencia'] = False form = ClienteForm(self.data) self.assertFalse(form.is_valid())
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())
def test_formulario_completo(self): form = ClienteForm(self.data) self.assertTrue(form.is_valid())
def test_formulario_no_vacio(self): form = ClienteForm({}) self.assertFalse(form.is_valid())