feat: moderniza a página de listagem de cotas

This commit is contained in:
andersonid
2025-04-02 18:30:05 -03:00
parent 8e6ccb70e9
commit 855f97c72b
2 changed files with 338 additions and 30 deletions

27
app.py
View File

@@ -439,9 +439,30 @@ def nova_cota():
@require_login
@require_permission(Permission.VIEW_CELL_REPORTS)
def listar_cotas():
"""Lista todas as cotas"""
cotas = db_session.query(CotaMensal).all()
return render_template("listar_cotas.html", cotas=cotas)
"""Rota para listar cotas mensais"""
try:
# Buscar cotas com informações do militante
cotas = db_session.query(CotaMensal)\
.join(Militante)\
.order_by(CotaMensal.data_vencimento.desc())\
.all()
# Calcular status das cotas
hoje = datetime.now().date()
for cota in cotas:
if cota.pago:
cota.status = 'paga'
elif cota.data_vencimento < hoje:
cota.status = 'atrasada'
else:
cota.status = 'pendente'
return render_template("listar_cotas.html", cotas=cotas)
except Exception as e:
app.logger.error(f"Erro ao listar cotas: {str(e)}")
flash("Erro ao carregar lista de cotas. Por favor, tente novamente.", "danger")
return redirect(url_for("home"))
# Rota para criar um novo pagamento
@app.route("/pagamentos/novo", methods=["GET", "POST"])