fix: corrige edição de cotas - Ajusta exibição do militante e valores no modal de edição

This commit is contained in:
andersonid
2025-04-03 17:08:53 -03:00
parent 9cc3f408f8
commit 77cf5ad99c
3 changed files with 186 additions and 211 deletions

43
app.py
View File

@@ -519,13 +519,21 @@ def editar_cota(id):
if request.method == 'POST':
try:
print("Dados recebidos:", request.form)
cota.militante_id = int(request.form['militante_id'])
cota.valor_antigo = float(request.form['valor_antigo'])
cota.valor_novo = float(request.form['valor_novo'])
cota.data_alteracao = datetime.strptime(request.form['data_alteracao'], '%Y-%m-%d').date()
cota.data_vencimento = datetime.strptime(request.form['data_vencimento'], '%Y-%m-%d').date()
# Processar o campo pago
pago = request.form.get('pago', '').lower()
print("Valor do campo pago recebido:", pago)
cota.pago = pago == 'true'
print("Status final do pago:", cota.pago)
db.commit()
print("Commit realizado com sucesso")
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
return jsonify({
@@ -538,12 +546,15 @@ def editar_cota(id):
except Exception as e:
db.rollback()
print(f"Erro ao atualizar cota: {e}")
print(f"Erro ao atualizar cota: {str(e)}")
print(f"Tipo do erro: {type(e)}")
import traceback
traceback.print_exc()
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
return jsonify({
'status': 'error',
'message': 'Erro ao atualizar cota. Verifique os dados e tente novamente.'
'message': f'Erro ao atualizar cota: {str(e)}'
}), 400
flash('Erro ao atualizar cota. Verifique os dados e tente novamente.', 'danger')
@@ -552,11 +563,11 @@ def editar_cota(id):
return render_template('editar_cota.html', cota=cota)
except Exception as e:
print(f"Erro ao carregar cota: {e}")
print(f"Erro ao carregar cota: {str(e)}")
if request.headers.get('X-Requested-With') == 'XMLHttpRequest':
return jsonify({
'status': 'error',
'message': 'Erro ao carregar cota.'
'message': f'Erro ao carregar cota: {str(e)}'
}), 404
flash('Erro ao carregar cota', 'danger')
return redirect(url_for('listar_cotas'))
@@ -1585,6 +1596,30 @@ def delete_pagamento(id):
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)
@app.route("/cotas/excluir/<int:id>", methods=["POST"])
@login_required
@session_timeout
def excluir_cota(id):
"""Exclui uma cota mensal"""
db = get_db_connection()
try:
cota = db.query(CotaMensal).get(id)
if not cota:
flash('Cota não encontrada.', 'danger')
return redirect(url_for('listar_cotas'))
# Excluir a cota
db.delete(cota)
db.commit()
flash('Cota excluída com sucesso!', 'success')
except Exception as e:
db.rollback()
flash('Erro ao excluir cota. Por favor, tente novamente.', 'danger')
print(f"Erro ao excluir cota: {e}")
finally:
db.close()
return redirect(url_for('listar_cotas'))
def create_app():
app = Flask(__name__)
# ... existing code ...