def dashboard(request): contexto = {} conta = request.user.perfil.conta contexto['saldo_atual']= conta.saldo_conta contexto['ultima_transacao'] = conta.ultimo_item_extrato contexto['ultimo_deposito'] = conta.ultimo_deposito contexto['ultimo_saque'] = conta.ultimo_saque if request.user.is_staff: contexto['total_sacado'] = Transacao.total_por_tipo(Transacao.SAQUE) contexto['total_depositado'] = Transacao.total_por_tipo(Transacao.DEPOSITO) contexto['total_em_caixa'] = Conta.total_em_caixa() if request.is_ajax(): return render(request, 'dashboard_ajax.html', contexto) else: return render(request, 'dashboard.html', contexto)
def extrato(request): contexto = {} if request.user.is_staff: tipo = request.GET.get('tipo', None) contexto['extrato'] = Transacao.todas_do_dia(tipo=tipo) else: conta = request.user.perfil.conta contexto['extrato'] = [i.to_dict() for i in conta.transacoes.all()] return render(request, 'extrato.html', contexto)
def deposito(request): contexto = {} conta = request.user.perfil.conta if request.method == 'POST': valor = request.body.split('=')[1] try: depositando = Transacao.faz_deposito(conta, valor) if depositando: contexto['sucesso'] = True except: contexto['error'] = True contexto.update({'saldo_atual': conta.saldo,}) return render(request, 'deposito.html', contexto)
def saque(request): contexo = {} conta = request.user.perfil.conta if request.method == 'POST': valor = request.body.split('=')[1] # nao eh o melhor lugar mas fica aqui por hora if Decimal(valor) > conta.saldo.amount: contexo['error'] = 'Saldo insuficiente' else: try: sacando = Transacao.faz_saque(conta, valor) if sacando: contexo['sucesso'] = True except: contexo['error'] = u'Houve um erro na requisição' contexo.update({'saldo_atual': conta.saldo, 'saldo_int': conta.saldo_int}) return render(request, 'saque.html', contexo)