예제 #1
0
    def make_validated_form(self, **kwargs):
        cliente = Cliente.objects.create(nome='lucas', tipo_cnh='B', cpf='12345678901')
        categoria = CategoriaVeiculo.objects.create(nome='carro', tipo_cnh='B')
        veiculo = Veiculo.objects.create(modelo='Palio', quilometragem=10, disponivel=True, categoria=categoria)

        data = dict(cliente=cliente.pk, veiculo=veiculo.pk,
                    data_inicial='2015-01-15',data_final='2015-01-20',
                    valor=20,devolvido=False)

        valid = dict(data)
        data = dict(valid, **kwargs)
        form = LocacaoForm(data)
        form.is_valid()
        return form
예제 #2
0
def locacao_edit(request, pk):
    locacao = get_object_or_404(Locacao, pk=pk)
    if request.method == "POST":
        form = LocacaoForm(request.POST, instance=locacao)
        if form.is_valid():
            locacao = form.save(commit=False)
            locacao.save()
            messages.success(request, UPDATE_MSG)
            return HttpResponseRedirect(r('locacao'))
    else:
        form = LocacaoForm(instance=locacao, initial={'veiculo': locacao.veiculo.pk})
        form.set_veiculo(Veiculo.objects.filter(pk=locacao.veiculo.pk))
        form.set_cliente(Cliente.objects.filter(pk=locacao.cliente.pk))

    context = {'label': 'Editar', 'form': form}
    return render(request, 'locacao/locacao.html', context)
예제 #3
0
def locacao_new(request):
    form = LocacaoForm()
    context = {'label': 'Cadastrar', 'form': form}
    if request.method == 'GET':
        form.set_veiculo(Veiculo.objects.filter(disponivel=True), "---------")
        form.set_cliente(Cliente.objects.all(), "---------")
        return render(request, 'locacao/locacao.html', context)

    form = LocacaoForm(request.POST)

    if not form.is_valid():
        form.set_veiculo(Veiculo.objects.all(), "---------")
        context['form'] = form
        return render(request, 'locacao/locacao.html', context)

    form.save()

    messages.success(request, SUCCESS_MSG)
    return HttpResponseRedirect(r('locacao'))