Implementation des fonctionnalité SQLAlchemy
This commit is contained in:
parent
92bb40d585
commit
e70b3e70f5
@ -14,6 +14,8 @@ if not os.path.exists(REPERTOIRE_YAML):
|
||||
|
||||
class Form(FlaskForm):
|
||||
|
||||
sauvegarder = SubmitField("Sauvegarder")
|
||||
charger = SubmitField("Charger")
|
||||
exporter = SubmitField("Exporter")
|
||||
fichier = FileField("Choisir fichier", validators=[FileAllowed(["yml"], "Fichier Yaml seulement!")])
|
||||
importer = SubmitField("Importer")
|
||||
@ -99,7 +101,7 @@ 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())[3:-1]:
|
||||
for categorie, valeur in list(form.data.items())[5:-1]:
|
||||
output[categorie] = valeur
|
||||
|
||||
fichier = REPERTOIRE_YAML + form.code.data + ".yml"
|
||||
|
@ -5,7 +5,61 @@ class PN(db.Model):
|
||||
nom = db.Column(db.String(255))
|
||||
diminutif = db.Column(db.String(30))
|
||||
description = db.Column(db.Text())
|
||||
type = db.Column(db.Integer())
|
||||
type = db.Column(db.String(1))
|
||||
|
||||
def __repr__(self):
|
||||
return "<PN {}>".format(self.code)
|
||||
|
||||
class AC(db.Model):
|
||||
code = db.Column(db.String(6), primary_key = True)
|
||||
titre = db.Column(db.String(255))
|
||||
saes = db.Column(db.String(255))
|
||||
|
||||
def __repr__(self):
|
||||
return "<AC {}>".format(self.code)
|
||||
|
||||
class SAE(db.Model):
|
||||
code = db.Column(db.String(5), primary_key = True)
|
||||
titre = db.Column(db.String(255))
|
||||
semestre = db.Column(db.String(255))
|
||||
heures_encadrees = db.Column(db.String(3))
|
||||
heures_tp = db.Column(db.String(3))
|
||||
projet = db.Column(db.String(3))
|
||||
description = db.Column(db.Text())
|
||||
coef = db.Column(db.String(255))
|
||||
acs = db.Column(db.String(255))
|
||||
ressources = db.Column(db.String(255))
|
||||
livrables = db.Column(db.Text())
|
||||
motscles = db.Column(db.String(255))
|
||||
|
||||
def __repr__(self):
|
||||
return "<SAE {}>".format(self.code)
|
||||
|
||||
class Ressource(db.Model):
|
||||
code = db.Column(db.String(4), primary_key = True)
|
||||
nom = db.Column(db.String(255))
|
||||
semestre = db.Column(db.String(255))
|
||||
heures_formation = db.Column(db.String(3))
|
||||
heures_tp = db.Column(db.String(3))
|
||||
coef = db.Column(db.String(255))
|
||||
acs = db.Column(db.String(255))
|
||||
saes = db.Column(db.String(255))
|
||||
prerequis = db.Column(db.String(255))
|
||||
contexte = db.Column(db.Text())
|
||||
contenu = db.Column(db.Text())
|
||||
motscles = db.Column(db.String(255))
|
||||
|
||||
def __repr__(self):
|
||||
return "<Ressource {}>".format(self.code)
|
||||
|
||||
class Competence(db.Model):
|
||||
code = db.Column(db.String(3), primary_key = True)
|
||||
nom = db.Column(db.String(255))
|
||||
diminutif = db.Column(db.String(30))
|
||||
description = db.Column(db.Text())
|
||||
composantes = db.Column(db.Text())
|
||||
situations = db.Column(db.Text())
|
||||
niveaux = db.Column(db.Text())
|
||||
|
||||
def __repr__(self):
|
||||
return "<Compétence {}>".format(self.code)
|
@ -1,7 +1,7 @@
|
||||
from flask import render_template, flash, redirect, url_for, request
|
||||
from app import app
|
||||
from app import app, db
|
||||
from app.forms import *
|
||||
from app.models import PN
|
||||
import app.models as models
|
||||
|
||||
import yaml
|
||||
|
||||
@ -15,9 +15,16 @@ def PN():
|
||||
form = PNForm()
|
||||
form_validation = form.validate_on_submit()
|
||||
form = form_import(form)
|
||||
if form_validation and form.exporter.data:
|
||||
if form_validation:
|
||||
if form.exporter.data:
|
||||
flash("Ajout du référentiel PN: {} ".format(form.code.data))
|
||||
form_export(form)
|
||||
if form.sauvegarder.data:
|
||||
if not "pn" in locals():
|
||||
pn = models.PN()
|
||||
form.populate_obj(pn)
|
||||
db.session.add(pn)
|
||||
db.session.commit()
|
||||
return redirect(url_for("PN"))
|
||||
return render_template("PN.html", form = form)
|
||||
|
||||
@ -26,9 +33,15 @@ def AC():
|
||||
form = ACForm()
|
||||
form_validation = form.validate_on_submit()
|
||||
form = form_import(form)
|
||||
if form_validation and form.exporter.data:
|
||||
if form_validation:
|
||||
if form.exporter.data:
|
||||
flash("Ajout du référentiel AC: {} ".format(form.code.data))
|
||||
form_export(form)
|
||||
if not "ac" in locals():
|
||||
ac = models.AC()
|
||||
form.populate_obj(ac)
|
||||
db.session.add(ac)
|
||||
db.session.commit()
|
||||
return redirect(url_for("AC"))
|
||||
return render_template("AC.html", form = form)
|
||||
|
||||
@ -37,9 +50,15 @@ def SAE():
|
||||
form = SAEForm()
|
||||
form_validation = form.validate_on_submit()
|
||||
form = form_import(form)
|
||||
if form_validation and form.exporter.data:
|
||||
if form_validation:
|
||||
if form.exporter.data:
|
||||
flash("Ajout du référentiel SAE: {} ".format(form.code.data))
|
||||
form_export(form)
|
||||
if not "sae" in locals():
|
||||
sae = models.SAE()
|
||||
form.populate_obj(sae)
|
||||
db.session.add(sae)
|
||||
db.session.commit()
|
||||
return redirect(url_for("SAE"))
|
||||
return render_template("SAE.html", form = form)
|
||||
|
||||
@ -48,9 +67,15 @@ def Ressource():
|
||||
form = RessourceForm()
|
||||
form_validation = form.validate_on_submit()
|
||||
form = form_import(form)
|
||||
if form_validation and form.exporter.data:
|
||||
if form_validation:
|
||||
if form.exporter.data:
|
||||
flash("Ajout du référentiel Ressource: {} ".format(form.code.data))
|
||||
form_export(form)
|
||||
if not "ressource" in locals():
|
||||
ressource = models.Ressource()
|
||||
form.populate_obj(ressource)
|
||||
db.session.add(ressource)
|
||||
db.session.commit()
|
||||
return redirect(url_for("Ressource"))
|
||||
return render_template("Ressource.html", form = form)
|
||||
|
||||
@ -59,8 +84,14 @@ def Competence():
|
||||
form = CompetenceForm()
|
||||
form_validation = form.validate_on_submit()
|
||||
form = form_import(form)
|
||||
if form_validation and form.exporter.data:
|
||||
if form_validation:
|
||||
if form.exporter.data:
|
||||
flash("Ajout du référentielCompetence: {} ".format(form.code.data))
|
||||
form_export(form)
|
||||
if not "competence" in locals():
|
||||
competence = models.Competence()
|
||||
form.populate_obj(competence)
|
||||
db.session.add(competence)
|
||||
db.session.commit()
|
||||
return redirect(url_for("Competence"))
|
||||
return render_template("Competence.html", form = form)
|
@ -20,6 +20,12 @@
|
||||
{% block formulaire %}{% endblock %}
|
||||
|
||||
<div class="field is-grouped">
|
||||
<div class="control">
|
||||
{{ form.sauvegarder(class="button")}}
|
||||
</div>
|
||||
<div class="control">
|
||||
{{ form.charger(class="button is-static")}}
|
||||
</div>
|
||||
<div class="control">
|
||||
{{ form.exporter(class="button")}}
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user