def cliente(request): activate('es') if request.method == "POST": form = ClienteForm(request.POST) if form.is_valid(): try: form.save() return redirect('/cliente/todos') except Exception as e: print('%s (%s)' % (e, type(e))) pass else: print('no valido') else: form = ClienteForm() if form.errors: for field in form: for error in field.errors: #print(field.name % " | " % error) print(error) # for error in form.non_field_errors: # print('NFE | ') # print(error) return render(request, 'cliente/agregar.html', {'form': form})
def home(request): if request.method == "POST": notificacion = True cl = Cliente.objects.filter \ (Q(nombres=request.POST['nombres']), Q(apellidoPaterno=request.POST['apellidoPaterno']), Q(apellidoMaterno=request.POST['apellidoMaterno']), Q(telefono=request.POST['telefono'])) if not cl.exists(): cl = crearUsuario(request.POST) us = User.objects.filter(is_superuser=True) if (enviarMensaje(cl.email, us[0].email, cl) == False): raise ValueError('A very specific bad thing happened.') formContacto = ClienteForm() return render(request, "home/index.html", { "notificacion": notificacion, "miFormulario": formContacto }) else: notificacion = False formContacto = ClienteForm() return render(request, "home/index.html", { "notificacion": notificacion, "miFormulario": formContacto })
def solicitudPrestamo(request): if request.method == 'GET': solicitudForm = SolicitudForm() formCliente = ClienteForm() return render(request, 'solicitud.html', { 'solicitudForm': solicitudForm, 'formCliente': formCliente }) elif request.method == 'POST': solicitudForm = SolicitudForm(request.POST, request.FILES) formCliente = ClienteForm(request.POST, request.FILES) if solicitudForm.is_valid() and formCliente.is_valid(): try: cliente_obj = Cliente.objects.get( identificacion=formCliente['identificacion'].value()) except Cliente.DoesNotExist: cliente_obj = formCliente.save() prestamo = solicitudForm.save(commit=False) prestamo.cliente = cliente_obj emails = [] curadores = Usuario.objects.filter(rol='curador') for curador in curadores: emails.append(curador.email) directores = Usuario.objects.filter(rol='director') for director in directores: emails.append(director.email) emails.append(cliente_obj.correo) email_subject = 'Solicitud prestamo' email_body = "Buen día, \n Se ha realizado la solicitud de prestamo exitosamente" # send_mail(email_subject, email_body, '*****@*****.**', emails, fail_silently=False) prestamo.save() messages.success( request, "Se ha realizado la solicitud de prestamo exitosamente") return HttpResponseRedirect( reverse_lazy('prestamo:solicitar_prestamo')) else: prestamo = Prestamo() cliente = Cliente() solicitudForm = SolicitudForm(request.POST, request.FILES, instance=prestamo) formCliente = ClienteForm(request.POST, request.FILES, instance=cliente) messages.error(request, 'Por favor verifique los campos del formulario') return render(request, 'solicitud.html', { 'solicitudForm': solicitudForm, 'formCliente': formCliente })
def cliente(request): # Pega as informacoes necessarias para o preenchimento da tabela: # # 1. Nome do cliente # 2. Telefone celular do cliente # 3. Ha pedidos em aberto (True || False) # 4. Quantidade de produtos comprados # clientes = Cliente.objects.all() for cliente in clientes: cliente.produtos = Produto.objects.filter(cliente=cliente.id) cliente.pedidos = Pedido.objects.filter( cliente=cliente.id, prazo__gte=datetime.datetime.now()) # Envia os formularios para adicionar novo cliente e endereco clienteForm = ClienteForm() enderecoForm = EnderecoForm() retornoAdd = False if request.method == 'POST': clienteForm = ClienteForm(request.POST) enderecoForm = EnderecoForm(request.POST) cliente_valido = clienteForm.is_valid() endereco_valido = enderecoForm.is_valid() if cliente_valido and endereco_valido: # Salva o novo endereco no BD endereco = enderecoForm.save() # Salva o novo cliente no BD cliente = clienteForm.save(commit=False) cliente.endereco = endereco tipo_id = clienteForm.cleaned_data.get("tipo_identidade") if (tipo_id == 'FISICA'): cliente.juridico = False else: cliente.juridico = True cliente.save() clienteForm = ClienteForm() enderecoForm = EnderecoForm() retornoAdd = True return render( request, 'cliente.html', { 'clientes': clientes, 'clienteForm': clienteForm, 'enderecoForm': enderecoForm, 'retornoAdd': retornoAdd })
def editar_cliente(request, id): cliente = Clientes.objects.get(docCliente=id) if request.method == 'GET': cliente_form = ClienteForm(instance=cliente) else: cliente_form = ClienteForm(request.POST, instance=cliente) if cliente_form.is_valid(): cliente_form.save() redirect('index') return render(request, 'cliente/crear_cliente.html', {'form': cliente_form})
def crear_cliente(request): if request.method == 'POST': cliente_form = ClienteForm(request.POST) if cliente_form.is_valid(): cliente_form.save() messages.error(request, "Ya existe un cliente con esta identificacion!!") return redirect("index") else: cliente_form = ClienteForm() return render(request, 'cliente/crear_cliente.html', {'form': cliente_form})
def cadastro(request): if request.method != 'POST': form = ClienteForm() return render(request, 'cliente/cadastro.html', {'form': form}) form = ClienteForm(request.POST) if not form.is_valid(): form = ClienteForm(request.POST) return render(request, 'cliente/cadastro.html', {'form': form}) form.save() return redirect('cliente')
def create(request): form = ClienteForm(request.POST or None) if form.is_valid(): form.save() return redirect('cliente_principal') return render(request, 'cliente_novo.html', {'form': form})
def actualizar(request, id): activate('es') cliente = get_object_or_404(Cliente, _id=id) form = ClienteForm(request.POST or None, instance=cliente) if form.is_valid(): form.save() return redirect("/cliente/todos") return render(request, 'cliente/editar.html', { 'form' : form })
def cliente_update(request, pk): cliente = Cliente.objects.get(id=pk) form = ClienteForm(request.POST or None, instance=cliente) if form.is_valid(): form.save() return redirect('cliente_lista') return render(request, 'cliente_detalhe.html', {'object':cliente, 'form': form})
def verAgenda(request): if request.user.is_authenticated: eventos = Event.objects.filter(bloqueado=False).order_by("start_time") paginator = Paginator(eventos, 25) page_number = request.GET.get('page') page_obj = paginator.get_page(page_number) myFilter = CalFilter(request.GET, queryset=eventos) eventos = myFilter.qs return render(request, 'cal/veragendas.html', {'eventos': eventos, 'myFilter': myFilter, 'page_obj': page_obj}) else: notificacion = False formContacto = ClienteForm() return render(request, "home/index.html", {"notificacion": notificacion, "miFormulario": formContacto})
def update(request, pk): cliente = Cliente.objects.get( pk=pk) # NOME DA CLASSE.objects.get(PARAMETRO WHERE) form = ClienteForm(request.POST or None, instance=cliente) if form.is_valid(): form.save() return redirect('cliente_principal') return render(request, 'cliente_detalhe.html', { 'object': cliente, 'form': form })
def edit_cliente(request, pk): redirect_to = request.REQUEST.get('next', '') try: id_clie = Cliente.objects.get(pk=pk) except ObjectDoesNotExist as ex: mensaje = "El cliente no existe" except Exception as ex: mensaje = "se ha producido un error" + str(ex) if request.method == 'POST': # formulario enviado editar_clie = ClienteForm(request.POST, instance=id_clie) if editar_clie.is_valid(): # formulario validado correctamente editar_clie.save() #return HttpResponseRedirect(reverse('uclientes:lista_cliente')) if redirect_to: return HttpResponseRedirect(redirect_to) else: return HttpResponseRedirect( reverse('uclientes:ficha_cliente', args=(id_clie.id, ))) else: # formulario inicial editar_clie = ClienteForm(instance=id_clie) mensaje = "" return render_to_response('cliente_edit.html', { 'editar_clie': editar_clie, 'id_cli': pk, 'create': False, 'mensaje': mensaje }, context_instance=RequestContext(request))
def add_cliente(request): mensaje = '' if request.method == 'POST': try: cliente_form = ClienteForm(request.POST) if cliente_form.is_valid(): cliente_form.save() mensaje = 'Se ha guardado la información del cliente' return HttpResponseRedirect(reverse('uclientes:lista_cliente')) except Exception as ex: cliente_form = ClienteForm() mensaje = "se ha producido un error" + str(ex) else: cliente_form = ClienteForm() return render_to_response('cliente_add.html', { 'cliente_form': cliente_form, 'create': True, 'mensaje': mensaje }, context_instance=RequestContext(request))
def bloqueado(request, event_id=None): if request.user.is_authenticated: instance = Event() if event_id: instance = get_object_or_404(Event, pk=event_id) else: instance = Event() form = ExcludeForm(request.POST or None, instance=instance) if request.POST and form.is_valid(): form.save() return HttpResponseRedirect(reverse('cal:calendar')) return render(request, 'cal/event.html', {'form': form}) else: notificacion = False formContacto = ClienteForm() return render(request, "home/index.html", {"notificacion": notificacion, "miFormulario": formContacto})
def pesquisar_cliente(request): if request.POST: nome = request.POST['clienteProcurado'] clientes = Cliente.objects.filter(nome__contains=nome) clienteForm = ClienteForm() enderecoForm = EnderecoForm() retornoAdd = False return render( request, 'cliente.html', { 'clientes': clientes, 'clienteForm': clienteForm, 'enderecoForm': enderecoForm, 'retornoAdd': retornoAdd })
def visualizar_prestamo(request, pk): try: prestamo = Prestamo.objects.get(pk=pk) cliente = prestamo.cliente except Prestamo.DoesNotExist: messages.error("El prestamo en consulta no existe") return HttpResponseRedirect(reverse_lazy('prestamo:listar_prestamo')) prestamoForm = PrestamoForm(instance=prestamo) formCliente = ClienteForm(instance=cliente) for field in prestamoForm.fields.items(): field[1].widget.attrs['readonly'] = True for field in formCliente.fields.items(): field[1].widget.attrs['readonly'] = True contexto = {'prestamoForm': prestamoForm, 'formCliente': formCliente} return render(request, 'prestamo.html', contexto)
def VisualizarServicio(request, pk): try: servicio = Servicios.objects.get(pk=pk) cliente = servicio.cliente except Servicios.DoesNotExist: messages.error(request, 'No existe el servicio en consulta') return HttpResponseRedirect(reverse_lazy('servicios:listar_servicio')) formServicio = ServiciosForm(instance=servicio) formCliente = ClienteForm(instance=cliente) for field in formServicio.fields.items(): field[1].widget.attrs['readonly'] = True for field in formCliente.fields.items(): field[1].widget.attrs['readonly'] = True contexto = { 'formServicio': formServicio, 'formCliente': formCliente, 'submit': False } return render(request, 'registrar_servicio.html', contexto)
def RegistrarServicio(request, pk=None): if pk: try: servicio = Servicios.objects.get(pk=pk) cliente = Cliente.objects.get(pk=servicio.cliente.pk) mensaje_exito = "Se edito exitosamente" except Servicios.DoesNotExist: messages.error(request, 'No existe el servicio en consulta') return HttpResponseRedirect( reverse_lazy('servicios:crear_servicio')) else: servicio = Servicios() cliente = Cliente() mensaje_exito = 'Se ha guardado exitosamente' # viewsRedirect='especimen:crear_especimen' if request.method == 'POST': print("solicitud post") formServicio = ServiciosForm(request.POST, request.FILES, instance=servicio) formCliente = ClienteForm(request.POST, request.FILES, instance=cliente) if formServicio.is_valid() and formCliente.is_valid(): print("valido") try: cliente_obj = Cliente.objects.get( identificacion=formCliente['identificacion'].value()) except Cliente.DoesNotExist: cliente_obj = formCliente.save() servicio = formServicio.save(commit=False) servicio.cliente = cliente_obj if pk == None: servicio.encargado = request.user servicio.ticket = genTicket() servicio.save() messages.success(request, mensaje_exito) print("se envio") return HttpResponseRedirect( reverse_lazy('servicios:listar_servicio')) else: print('algun formulario esta invalido') print(formServicio.errors) print(formCliente.errors) contexto = { 'formServicio': formServicio, 'formCliente': formCliente, 'submit': True } else: formServicio = ServiciosForm(instance=servicio) formCliente = ClienteForm(instance=cliente) contexto = { 'formServicio': formServicio, 'formCliente': formCliente, 'submit': True } return render(request, 'registrar_servicio.html', contexto)
def editar(request, id): activate('es') cliente = get_object_or_404(Cliente, _id=id) form = ClienteForm(request.POST or None, instance=cliente) return render(request, 'cliente/editar.html', { 'form' : form })
def realizarPrestamo(request, pk): if request.method == 'GET': prestamo = Prestamo() cliente = Cliente() try: prestamo = Prestamo.objects.get(pk=pk) cliente = prestamo.cliente prestamoForm = PrestamoForm(instance=prestamo) formCliente = ClienteForm(instance=cliente) for field in formCliente.fields.items(): if field[0] != 'correo' and field[0] != 'num_contacto': field[1].widget.attrs['readonly'] = True return render(request, 'prestamo.html', { 'prestamoForm': prestamoForm, 'formCliente': formCliente }) except Prestamo.DoesNotExist: messages.error(request, 'No existe la solicitud en consulta') return HttpResponseRedirect( reverse_lazy('prestamo:listar_solicitud')) elif request.method == 'POST': prestamoForm = PrestamoForm(request.POST, request.FILES) formCliente = ClienteForm(request.POST, request.FILES) try: prestamo = Prestamo.objects.get(pk=pk) cliente = prestamo.cliente except Prestamo.DoesNotExist: messages.error(request, 'No existe la solicitud en consulta') return HttpResponseRedirect( reverse_lazy('prestamo:listar_solicitud')) if prestamoForm.is_valid() and formCliente.is_valid(): prestamo.solicitud = prestamoForm['solicitud'].value() prestamo.num_registro = prestamoForm['num_registro'].value() prestamo.fecha_entrega = datetime.now() prestamo.fecha_devolucion = prestamoForm['fecha_devolucion'].value( ) prestamo.observaciones_entrega = prestamoForm[ 'observaciones_entrega'].value() prestamo.encargado = request.user cliente.nombre_completo = formCliente['nombre_completo'].value() cliente.tipo_identificacion = formCliente[ 'tipo_identificacion'].value() cliente.identificacion = formCliente['identificacion'].value() cliente.correo = formCliente['correo'].value() cliente.num_contacto = formCliente['num_contacto'].value() prestamo.cliente = cliente prestamo.estado = 'prestamo' cliente.save() prestamo.save() messages.success(request, 'Se ha realizado el prestamo con éxito') return HttpResponseRedirect( reverse_lazy('prestamo:listar_solicitud')) else: messages.error(request, 'Por favor verifique los datos del formulario') prestamoForm = PrestamoForm(request.POST, request.FILES, instance=prestamo) formCliente = ClienteForm(request.POST, request.FILES, instance=cliente) return render(request, 'prestamo.html', { 'prestamoForm': prestamoForm, 'formCliente': formCliente })