Ejemplo n.º 1
0
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})
Ejemplo n.º 2
0
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
        })
Ejemplo n.º 3
0
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
            })
Ejemplo n.º 4
0
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
        })
Ejemplo n.º 5
0
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})
Ejemplo n.º 6
0
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})
Ejemplo n.º 7
0
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')
Ejemplo n.º 8
0
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})
Ejemplo n.º 9
0
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 })
Ejemplo n.º 10
0
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})
Ejemplo n.º 11
0
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})
Ejemplo n.º 12
0
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
    })
Ejemplo n.º 13
0
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))
Ejemplo n.º 14
0
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))
Ejemplo n.º 15
0
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})
Ejemplo n.º 16
0
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
            })
Ejemplo n.º 17
0
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)
Ejemplo n.º 18
0
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)
Ejemplo n.º 19
0
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)
Ejemplo n.º 20
0
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 })
Ejemplo n.º 21
0
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
            })