def update(idProduit): produit = get_produit(idProduit) if request.method == "POST": titre = request.form["titre"] annee_sortie = request.form["annee_sortie"] prix = request.form["prix"] quantite = request.form["quantite"] image = request.form["image"] description = request.form["description"] error = None if not titre: error = "Un titre est requis." if not prix: error = "Un prix est requis." if not quantite: error = "Une quantite est requise." if error is not None: flash(error) else: db = get_db() db.execute( "UPDATE Produit SET titre = ?, annee_sortie = ?, prix = ?, quantite = ?, image = ?, description = ?" " WHERE idProduit = ?", (titre, annee_sortie, prix, quantite, image, description, idProduit), ) db.commit() return redirect(url_for("index")) return render_template("update.html", produit=produit)
def create(): if request.method == "POST": titre = request.form["titre"] annee_sortie = request.form["annee_sortie"] prix = request.form["prix"] quantite = request.form["quantite"] image = request.form["image"] description = request.form["description"] error = None if not titre: error = "Un titre est requis." if not prix: error = "Un prix est requis." if not quantite: error = "Une quantite est requise." if error is not None: flash(error) else: db = get_db() db.execute( "INSERT INTO Produit (titre, annee_sortie, prix, quantite, image, description)" " VALUES (?, ?, ?, ?, ?, ?)", (titre, annee_sortie, prix, quantite, image, description), ) db.commit() return redirect(url_for("index")) return render_template("create.html")
def register(): if request.method == "POST": email = request.form["email"] mdp = request.form["mdp"] nom = request.form["nom"] prenom = request.form["prenom"] db = get_db() error = None if not email: error = "Email requis." elif not mdp: error = "Mot de passe requis." elif (db.execute("SELECT idClient FROM Client WHERE email = ?", (email, )).fetchone() is not None): error = "Email {} déjà renseigné.".format(email) if error is None: db.execute( "INSERT INTO Client (email, mdp, nom, prenom) VALUES (?, ?, ?, ?)", (email, generate_password_hash(mdp), nom, prenom), ) db.commit() return redirect(url_for("auth.login")) flash(error) return render_template("auth/register.html")
def load_logged_in_user(): user_id = session.get("user_id") if user_id is None: g.user = None else: g.user = (get_db().execute("SELECT * FROM Client WHERE idClient = ?", (user_id, )).fetchone())
def get_produit(id): produit = (get_db().execute( "SELECT p.idProduit, p.titre, p.annee_sortie, p.prix, p.quantite, p.image, p.description" " FROM Produit p " " WHERE p.idProduit = ?", (id, ), ).fetchone()) if produit is None: abort(404, "Le produit d'id {0} n'existe pas.".format(id)) return produit
def login(): if request.method == "POST": email = request.form["email"] mdp = request.form["mdp"] db = get_db() error = None client = db.execute("SELECT * FROM Client WHERE email = ?", (email, )).fetchone() if client is None: error = "Email incorrect." elif not check_password_hash(client["mdp"], mdp): error = "Mot de passe incorrect." if error is None: session.clear() session["user_id"] = client["idClient"] return redirect(url_for("index")) flash(error) return render_template("auth/login.html")
def delete(idProduit): get_produit(idProduit) db = get_db() db.execute("DELETE FROM Produit WHERE idProduit = ?", (idProduit, )) db.commit() return redirect(url_for("index"))
def index(): db = get_db() produits = db.execute( "SELECT p.idProduit, p.titre, p.annee_sortie, p.prix, p.quantite, p.image, p.description" " FROM Produit p ").fetchall() return render_template("index.html", produits=produits)