Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)