Ejemplo n.º 1
0
def abonos_clientes(request):
    if request.method == 'POST':
        if len(request.POST) == 2 and "DNI" in request.POST:
            clientes = Clientes.objects.filter(
                DNI__icontains=request.POST.get('DNI'))
            if len(clientes) > 0:
                direccion = get_first_direccion(clientes[0].id)
                full_data = dict(
                    model_to_dict(direccion).items() +
                    model_to_dict(clientes[0]).items())
                form = CPClientesForm(full_data, instance=clientes[0])
                titulo = 'Cliente existente'
                tipo = "abonar"
                request.session["accion_abonos_dni"] = request.POST.get('DNI')
                request.session["accion_abonos_pk_cliente"] = clientes[0].pk
            else:
                form = CPClientesForm(request.POST)
                titulo = 'Cliente no existe'
                tipo = "no_existe"
            return render(request, 'tienda/compras/clientes.html', {
                'form': form,
                'titulo': titulo,
                'tipo': tipo
            })

        if len(request.POST) > 2:
            clientes = Clientes.objects.filter(
                DNI__icontains=request.POST.get('DNI'))
            request.session["accion_abonos_dni"] = request.POST.get('DNI')
            tipo = "abonar"
            if len(clientes) > 0:
                form = CPClientesForm(request.POST, instance=clientes[0])
            else:
                form = CPClientesForm(request.POST)

            if form.is_valid():
                cliente = form.save()
                direccion = set_first_direccion(request.POST, cliente.pk)
                direccion.cliente_id = cliente.pk
                direccion.save()
            else:
                return render(
                    request, 'tienda/compras/clientes.html', {
                        'form': form,
                        'titulo': "Error al guradar el cliente",
                        'tipo': tipo,
                        "form_error": form.errors
                    })

            request.session["accion_abonos_pk_cliente"] = cliente.pk
            return render(
                request, 'tienda/compras/clientes.html', {
                    'form': form,
                    'titulo': "Cliente guardado o modificado",
                    'tipo': tipo
                })

    return redirect("find_cliente")
Ejemplo n.º 2
0
def modificar_cliente(datos, cliente=None):
    if cliente != None:
        form = CPClientesForm(datos, instance=cliente)
    else:
        form = CPClientesForm(datos)

    if form.is_valid():
        cliente = form.save()
        direccion = set_first_direccion(datos, cliente.pk)
        direccion.cliente_id = cliente.pk
        direccion.save()
    else:
        print(form.errors)

    return cliente