Refactor routes Flask en Blueprints
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
from flask import Blueprint, current_app, flash, redirect, render_template, request, url_for
|
||||
from sqlalchemy import text
|
||||
|
||||
from app import db
|
||||
from app.decorators import login_required
|
||||
|
||||
societes_bp = Blueprint("societes", __name__)
|
||||
|
||||
|
||||
@societes_bp.route("/gestion-societes", methods=["GET", "POST"])
|
||||
@login_required
|
||||
def gestion_societes():
|
||||
if request.method == "POST":
|
||||
action = request.form.get("action")
|
||||
soc_id = request.form.get("id")
|
||||
|
||||
nom = request.form.get("nom")
|
||||
forme = request.form.get("forme")
|
||||
capital = request.form.get("capital")
|
||||
siren = request.form.get("siren")
|
||||
siret = request.form.get("siret")
|
||||
rcs = request.form.get("rcs")
|
||||
tva = request.form.get("tva")
|
||||
naf = request.form.get("naf")
|
||||
tel = request.form.get("tel")
|
||||
web = request.form.get("web")
|
||||
mail = request.form.get("mail")
|
||||
|
||||
if action == "creer":
|
||||
try:
|
||||
query = text(
|
||||
"INSERT INTO societe (nom, forme, capital, siren, siret, rcs, "
|
||||
"tva, naf, tel, web, mail) "
|
||||
"VALUES (:nom, :forme, :capital, :siren, :siret, :rcs, :tva, "
|
||||
":naf, :tel, :web, :mail)"
|
||||
)
|
||||
db.session.execute(
|
||||
query,
|
||||
{
|
||||
"nom": nom,
|
||||
"forme": forme,
|
||||
"capital": capital,
|
||||
"siren": siren,
|
||||
"siret": siret,
|
||||
"rcs": rcs,
|
||||
"tva": tva,
|
||||
"naf": naf,
|
||||
"tel": tel,
|
||||
"web": web,
|
||||
"mail": mail,
|
||||
},
|
||||
)
|
||||
db.session.commit()
|
||||
flash("Société créée avec succès.", "success")
|
||||
except Exception as e:
|
||||
db.session.rollback()
|
||||
current_app.logger.error("Erreur création société : %s", e, exc_info=True)
|
||||
flash("Erreur lors de la création de la société.", "danger")
|
||||
|
||||
elif action == "modifier" and soc_id:
|
||||
try:
|
||||
query = text(
|
||||
"UPDATE societe SET nom = :nom, forme = :forme, "
|
||||
"capital = :capital, siren = :siren, siret = :siret, "
|
||||
"rcs = :rcs, tva = :tva, naf = :naf, tel = :tel, web = :web, "
|
||||
"mail = :mail WHERE id = :id"
|
||||
)
|
||||
db.session.execute(
|
||||
query,
|
||||
{
|
||||
"id": soc_id,
|
||||
"nom": nom,
|
||||
"forme": forme,
|
||||
"capital": capital,
|
||||
"siren": siren,
|
||||
"siret": siret,
|
||||
"rcs": rcs,
|
||||
"tva": tva,
|
||||
"naf": naf,
|
||||
"tel": tel,
|
||||
"web": web,
|
||||
"mail": mail,
|
||||
},
|
||||
)
|
||||
db.session.commit()
|
||||
flash("Société modifiée avec succès.", "success")
|
||||
except Exception as e:
|
||||
db.session.rollback()
|
||||
current_app.logger.error("Erreur modification société : %s", e, exc_info=True)
|
||||
flash("Erreur lors de la modification de la société.", "danger")
|
||||
|
||||
return redirect(url_for("societes.gestion_societes"))
|
||||
|
||||
societes_query = text(
|
||||
"SELECT id, nom, forme, capital, siren, siret, rcs, tva, naf, tel, web, "
|
||||
"mail FROM societe ORDER BY id ASC"
|
||||
)
|
||||
result = db.session.execute(societes_query)
|
||||
|
||||
societes = [
|
||||
{
|
||||
"id": row.id,
|
||||
"nom": row.nom if row.nom else "",
|
||||
"forme": row.forme if row.forme else "",
|
||||
"capital": row.capital if row.capital is not None else 0,
|
||||
"siren": row.siren if row.siren is not None else "",
|
||||
"siret": row.siret if row.siret is not None else "",
|
||||
"rcs": row.rcs if row.rcs else "",
|
||||
"tva": row.tva if row.tva else "",
|
||||
"naf": row.naf if row.naf else "",
|
||||
"tel": row.tel if row.tel else "",
|
||||
"web": row.web if row.web else "",
|
||||
"mail": row.mail if row.mail else "",
|
||||
}
|
||||
for row in result
|
||||
]
|
||||
|
||||
return render_template("gestion_societes.html", societes=societes)
|
||||
Reference in New Issue
Block a user