def addLancamento(request): if (request.method == 'POST'): form = LancamentosForm(request.POST) if (form.is_valid()): lancamento = form.save(commit=False) #busca o saldo do usuario logado saldo = SaldoCaixa.objects.get(user=request.user) #atribui o valor do saldo anterior saldo.saldoAnterior = saldo.saldoAtual #atribui o novo saldo de acordo com a categoria do lançamento if (lancamento.categoria.tipo == "1"): saldo.saldoAtual += lancamento.valor else: saldo.saldoAtual -= lancamento.valor #salva o novo saldo saldo.save() #relacionao o usuario logado com o lançamento lancamento.user = request.user lancamento.save() return HttpResponse('Lançamento efetuado com sucesso.') return ('Lançamento inválido')
def editLancamento(request): if (request.method == 'POST'): #id do usuario id_user = request.user.id #id do lancamento clicado idLancamento = request.POST.get('id') #busca o lancamento a ser alterado lancamento = LancamentosCaixa.objects.get(pk=idLancamento) #atribui o lancamento ao form form = LancamentosForm(request.POST, instance=lancamento) if (form.is_valid()): form.save() #busca o saldo do usuario logado saldoCaixa = SaldoCaixa.objects.get(user=request.user) lancamentos = LancamentosCaixa.objects.filter(user_id=id_user) saldo = 0 for l in lancamentos: if (l.categoria.tipo == '1'): saldo += l.valor else: saldo -= l.valor saldoCaixa.saldoAtual = saldo saldoCaixa.save() return HttpResponse("Lançamento alterado com sucesso") else: return HttpResponseServerError("Formulário inválido") #id do lancamento clicado idLancamento = request.GET.get('id') lancamento = LancamentosCaixa.objects.get(pk=idLancamento) form = LancamentosForm(instance=lancamento) form.getEditLancamentoForm(request) if (lancamento.conta_a_pagar != None): contaID = "<div id='status_conta'>Pago</div>" elif (lancamento.conta_a_receber != None): contaID = "<div id='status_conta'>Recebido</div>" else: contaID = "<div id='status_conta'>Nenhum</div>" #retorna o id do lancamento junto com o formulario divId = "<div id='id_lancamento'>" + idLancamento + "</div>" form_html = {form.as_p(), divId, contaID} return HttpResponse(form_html)
def editLancamento(request): if (request.method == 'POST'): #id do usuario id_user = request.user.id #id do lancamento clicado idLancamento = request.POST.get('id') #busca o lancamento a ser alterado lancamento = LancamentosCaixa.objects.get(pk=idLancamento) #atribui o lancamento ao form form = LancamentosForm(request.POST, instance=lancamento) if (form.is_valid()): form.save() #busca o saldo do usuario logado saldoCaixa = SaldoCaixa.objects.get(user=request.user) lancamentos = LancamentosCaixa.objects.filter(user_id=id_user) saldo = 0 for l in lancamentos: if (l.categoria.tipo == '1'): saldo += l.valor else: saldo -= l.valor saldoCaixa.saldoAtual = saldo saldoCaixa.save() return HttpResponse("Lançamento alterado com sucesso") else: return HttpResponseServerError("Formulário inválido") #id do lancamento clicado idLancamento = request.GET.get('id') lancamento = LancamentosCaixa.objects.get(pk=idLancamento) form = LancamentosForm(instance=lancamento) #seleciona apenas as categorias do usuario logado form.fields['categoria'].choices = separarCategorias(request) form.fields['descricao'] = forms.CharField( label='Descrição', max_length=32, required=True, widget=forms.TextInput( attrs={ 'class': 'form-control', 'placeholder': 'Descreva a transação', 'id': 'id_descricao-alter_caixa' })) form.fields['valor'] = forms.DecimalField( label='Valor', min_value=0.01, max_value=9999.99, required=True, widget=forms.NumberInput(attrs={ 'class': 'form-control', 'id': 'id_valor-alter_caixa' })) form.fields['data'] = forms.DateField( label='Data', required=True, widget=forms.TextInput(attrs={ 'class': 'form-control', 'id': 'datepicker-alter_caixa' })) if (lancamento.conta_a_pagar != None): contaID = "<div id='status_conta'>Pago</div>" elif (lancamento.conta_a_receber != None): contaID = "<div id='status_conta'>Recebido</div>" else: contaID = "<div id='status_conta'>Nenhum</div>" #retorna o id do lancamento junto com o formulario divId = "<div id='id_lancamento'>" + idLancamento + "</div>" form_html = {form.as_p(), divId, contaID} return HttpResponse(form_html)