diff --git a/app.db b/app.db index 03108ca..faf2d52 100644 Binary files a/app.db and b/app.db differ diff --git a/app/forms.py b/app/forms.py index 1948da5..8b210c6 100644 --- a/app/forms.py +++ b/app/forms.py @@ -1,3 +1,4 @@ +from flask import redirect, url_for from flask_wtf import FlaskForm from flask_wtf.file import FileAllowed from wtforms import StringField, SubmitField, FileField, TextAreaField, RadioField @@ -25,6 +26,7 @@ class Form(FlaskForm): sauvegarder = SubmitField("Sauvegarder") charger = SubmitField("Charger") + supprimer = SubmitField("Supprimer") exporter = SubmitField("Exporter") fichier = FileField("Choisir fichier", validators=[FileAllowed(["yml"], "Fichier Yaml seulement!")]) importer = SubmitField("Importer") @@ -114,7 +116,7 @@ def form_import(form): def form_export(form): """ Si le formulaire est valide => exporte dans un fichier yaml avec les informations du formulaire """ output = {} - for categorie, valeur in list(form.data.items())[6:-1]: + for categorie, valeur in list(form.data.items())[7:-1]: if categorie in categorie_liste: output[categorie] = [ referentiel for referentiel in valeur.split(separateur) ] else: @@ -148,7 +150,7 @@ def form_sauvegarder(form): if referentiel == None: referentiel = model() # Si le référentiel contient une catégorie avec une liste de référentiels - for categorie, valeur in list(form.data.items())[6:-1]: + for categorie, valeur in list(form.data.items())[7:-1]: if categorie in categorie_liste: resultat = [] refs = [ ref for ref in form[categorie].data.split(separateur) ] @@ -165,4 +167,17 @@ def form_sauvegarder(form): form.populate_obj(referentiel) db.session.add(referentiel) - db.session.commit() \ No newline at end of file + db.session.commit() + +def form_supprimer(form): + if form.supprimer.data: + if form.referentiel.data == None: + form.referentiel.errors.append("Aucun référentiel n'a été selectionné!") + else: + temp = form.referentiel.data[1:-1].split() + model = getattr(models, temp[0]) + referentiel = model.query.filter_by(code=temp[1]).first() + db.session.delete(referentiel) + db.session.commit() + return True, redirect(url_for(temp[0])) + return False, form \ No newline at end of file diff --git a/app/routes.py b/app/routes.py index 0fa32ef..3735b11 100644 --- a/app/routes.py +++ b/app/routes.py @@ -17,6 +17,9 @@ def PN(): form_validation = form.validate_on_submit() form = form_import(form) form = form_charger(form) + temp = form_supprimer(form) + if temp[0] == True: return temp[1] + else: form = temp[1] if form_validation and not form.charger.data: if form.exporter.data: flash("Ajout du référentiel PN: {} ".format(form.code.data)) @@ -32,6 +35,9 @@ def AC(): form_validation = form.validate_on_submit() form = form_import(form) form = form_charger(form) + temp = form_supprimer(form) + if temp[0] == True: return temp[1] + else: form = temp[1] if form_validation and not form.charger.data: if form.exporter.data: flash("Ajout du référentiel AC: {} ".format(form.code.data)) @@ -47,6 +53,9 @@ def SAE(): form_validation = form.validate_on_submit() form = form_import(form) form = form_charger(form) + temp = form_supprimer(form) + if temp[0] == True: return temp[1] + else: form = temp[1] if form_validation and not form.charger.data: if form.exporter.data: flash("Ajout du référentiel SAE: {} ".format(form.code.data)) @@ -62,6 +71,9 @@ def Ressource(): form_validation = form.validate_on_submit() form = form_import(form) form = form_charger(form) + temp = form_supprimer(form) + if temp[0] == True: return temp[1] + else: form = temp[1] if form_validation and not form.charger.data: if form.exporter.data: flash("Ajout du référentiel Ressource: {} ".format(form.code.data)) @@ -77,6 +89,9 @@ def Competence(): form_validation = form.validate_on_submit() form = form_import(form) form = form_charger(form) + temp = form_supprimer(form) + if temp[0] == True: return temp[1] + else: form = temp[1] if form_validation and not form.charger.data: if form.exporter.data: flash("Ajout du référentielCompetence: {} ".format(form.code.data)) diff --git a/app/templates/form.html b/app/templates/form.html index 45ed6e0..6f7e987 100644 --- a/app/templates/form.html +++ b/app/templates/form.html @@ -19,41 +19,52 @@ {% block formulaire %}{% endblock %} -
-
- {{ form.sauvegarder(class="button")}} -
-
- {{ form.charger(class="button")}} -
-
- {{ form.exporter(class="button")}} -
-
-
- -
- {% for error in form.fichier.errors %} -

{{error}}

- {% endfor %} -
+
+
+ {{ form.sauvegarder(class="button")}}
- +
+
+ {% for error in form.charger.errors %} +

{{error}}

+ {% endfor %} + {% if form.referentiel.choices|length != 0 %} + +
+ {{ form.supprimer(class="button is-danger") }} + {% for error in form.supprimer.errors %} +

{{error}}

+ {% endfor %} +
+ {% endif %} {% endblock %} \ No newline at end of file