From a28f54347883539fc3c0fd68ed76b007f9b310c2 Mon Sep 17 00:00:00 2001 From: andersonid Date: Thu, 3 Apr 2025 13:55:31 -0300 Subject: [PATCH] =?UTF-8?q?refactor:=20melhorias=20na=20interface=20e=20fu?= =?UTF-8?q?ncionalidades=20-=20Atualiza=C3=A7=C3=A3o=20do=20layout=20do=20?= =?UTF-8?q?dashboard=20com=20Bootstrap=205=20-=20Remo=C3=A7=C3=A3o=20do=20?= =?UTF-8?q?template=20editar=5Fpagamento.html=20(integrado=20ao=20modal)?= =?UTF-8?q?=20-=20Melhorias=20no=20template=20home.html=20com=20cards=20es?= =?UTF-8?q?tat=C3=ADsticos=20-=20Ajustes=20nos=20estilos=20e=20responsivid?= =?UTF-8?q?ade=20-=20Corre=C3=A7=C3=B5es=20nas=20rotas=20e=20conex=C3=B5es?= =?UTF-8?q?=20do=20banco=20de=20dados=20-=20Implementa=C3=A7=C3=A3o=20do?= =?UTF-8?q?=20modal=20de=20edi=C3=A7=C3=A3o=20de=20pagamentos=20-=20Adi?= =?UTF-8?q?=C3=A7=C3=A3o=20de=20efeitos=20hover=20e=20melhorias=20visuais?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 107 ++++++++++++++++++++ templates/editar_pagamento.html | 60 ----------- templates/home.html | 172 +++++++++++++++++++++++++++++++- 3 files changed, 275 insertions(+), 64 deletions(-) delete mode 100644 templates/editar_pagamento.html diff --git a/app.py b/app.py index 319ada0..0060580 100644 --- a/app.py +++ b/app.py @@ -243,6 +243,7 @@ def home(): total_materiais = db.query(func.sum(MaterialVendido.valor)).scalar() or 0 total_assinaturas = db.query(func.sum(AssinaturaAnual.valor)).scalar() or 0 +<<<<<<< HEAD return render_template( "home.html", nome_usuario=nome_usuario, @@ -252,6 +253,48 @@ def home(): total_materiais=total_materiais, total_assinaturas=total_assinaturas ) +======= + # Buscar últimos militantes cadastrados + ultimos_militantes = db.query(Militante)\ + .order_by(Militante.id.desc())\ + .limit(5)\ + .all() + + # Buscar últimos pagamentos + ultimos_pagamentos = db.query(Pagamento)\ + .join(Militante)\ + .order_by(Pagamento.data_pagamento.desc())\ + .limit(5)\ + .all() + + # Buscar tipos de pagamento + tipos_pagamento = db.query(TipoPagamento).all() + + return render_template('home.html', + nome_usuario=nome_usuario, + data_atual=data_formatada, + total_militantes=total_militantes, + total_cotas="{:.2f}".format(total_cotas), + total_materiais=total_materiais, + total_assinaturas=total_assinaturas, + ultimos_militantes=ultimos_militantes, + ultimos_pagamentos=ultimos_pagamentos, + tipos_pagamento=tipos_pagamento) + except Exception as e: + print(f"Erro na página inicial: {e}") + import traceback + traceback.print_exc() + flash('Erro ao carregar a página inicial', 'danger') + return render_template('home.html', + nome_usuario="Usuário", + data_atual=datetime.now().strftime("%d/%m/%Y"), + total_militantes=0, + total_cotas="0.00", + total_materiais=0, + total_assinaturas=0, + ultimos_militantes=[], + ultimos_pagamentos=[]) +>>>>>>> 324660d (refactor: melhorias na interface e funcionalidades - Atualização do layout do dashboard com Bootstrap 5 - Remoção do template editar_pagamento.html (integrado ao modal) - Melhorias no template home.html com cards estatísticos - Ajustes nos estilos e responsividade - Correções nas rotas e conexões do banco de dados - Implementação do modal de edição de pagamentos - Adição de efeitos hover e melhorias visuais) finally: db.close() @@ -1275,6 +1318,7 @@ def toggle_quadro_orientador(user_id): finally: db.close() +<<<<<<< HEAD @app.route('/usuarios//toggle_aspirante', methods=['POST']) @require_login def toggle_aspirante(user_id): @@ -1477,6 +1521,69 @@ def session_timeout(): db_session.commit() except Exception as e: print(f"Erro ao atualizar última atividade: {e}") +======= +# API Routes para os modais +@app.route('/api/pagamentos/', methods=['GET']) +@login_required +def get_pagamento(id): + db = get_db_connection() + try: + pagamento = db.query(Pagamento).get(id) + if not pagamento: + return jsonify({'success': False, 'message': 'Pagamento não encontrado'}), 404 + + return jsonify({ + 'id': pagamento.id, + 'valor': pagamento.valor, + 'data_pagamento': pagamento.data_pagamento.strftime('%Y-%m-%d'), + 'tipo_pagamento_id': pagamento.tipo_pagamento_id, + 'observacao': pagamento.observacao + }) + finally: + db.close() + +@app.route('/api/pagamentos/', methods=['PUT']) +@login_required +def update_pagamento(id): + db = get_db_connection() + try: + pagamento = db.query(Pagamento).get(id) + if not pagamento: + return jsonify({'success': False, 'message': 'Pagamento não encontrado'}), 404 + + try: + pagamento.valor = float(request.form['valor']) + pagamento.data_pagamento = datetime.strptime(request.form['data_pagamento'], '%Y-%m-%d') + pagamento.tipo_pagamento_id = int(request.form['tipo_pagamento']) + pagamento.observacao = request.form['observacao'] + + db.commit() + return jsonify({'success': True}) + except Exception as e: + db.rollback() + return jsonify({'success': False, 'message': str(e)}), 400 + finally: + db.close() + +@app.route('/api/pagamentos/', methods=['DELETE']) +@login_required +def delete_pagamento(id): + db = get_db_connection() + try: + pagamento = db.query(Pagamento).get(id) + if not pagamento: + return jsonify({'success': False, 'message': 'Pagamento não encontrado'}), 404 + + try: + db.delete(pagamento) + db.commit() + return jsonify({'success': True}) + except Exception as e: + db.rollback() + return jsonify({'success': False, 'message': str(e)}), 400 + finally: + db.close() +>>>>>>> 324660d (refactor: melhorias na interface e funcionalidades - Atualização do layout do dashboard com Bootstrap 5 - Remoção do template editar_pagamento.html (integrado ao modal) - Melhorias no template home.html com cards estatísticos - Ajustes nos estilos e responsividade - Correções nas rotas e conexões do banco de dados - Implementação do modal de edição de pagamentos - Adição de efeitos hover e melhorias visuais) def create_app(): app = Flask(__name__) diff --git a/templates/editar_pagamento.html b/templates/editar_pagamento.html deleted file mode 100644 index 9dfd363..0000000 --- a/templates/editar_pagamento.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Editar Pagamento{% endblock %} - -{% block content %} -
-
-
-
-
-
- Editar Pagamento -
-
-
-
-
-
- -
- R$ - -
-
-
- - -
-
-
-
- - -
-
- - -
-
-
- - Cancelar - - -
-
-
-
-
-
-
-{% endblock %} \ No newline at end of file diff --git a/templates/home.html b/templates/home.html index b00e27f..eb5c383 100644 --- a/templates/home.html +++ b/templates/home.html @@ -108,12 +108,31 @@ {% if ultimos_pagamentos %}
{% for pagamento in ultimos_pagamentos %} -
+
{{ pagamento.militante.nome }}
{{ pagamento.data_pagamento.strftime('%d/%m/%Y') }}
- R$ {{ "%.2f"|format(pagamento.valor) }} +
+ R$ {{ "%.2f"|format(pagamento.valor) }} + +
{% endfor %}
@@ -226,21 +245,84 @@
- + + + +