forked from eric.li/EditionPN
factorisation
This commit is contained in:
parent
f5e435c267
commit
e8eb8242f7
20
app/forms.py
20
app/forms.py
@ -1,11 +1,9 @@
|
|||||||
from flask import redirect, url_for
|
|
||||||
from flask_wtf import FlaskForm
|
from flask_wtf import FlaskForm
|
||||||
from flask_wtf.file import FileAllowed
|
from flask_wtf.file import FileAllowed
|
||||||
from wtforms import StringField, SubmitField, FileField, TextAreaField, RadioField, SelectMultipleField, widgets, FieldList, FormField, HiddenField
|
from wtforms import StringField, SubmitField, FileField, RadioField, widgets, FieldList, FormField, HiddenField
|
||||||
from wtforms.validators import DataRequired, Regexp, Optional, ValidationError
|
from wtforms.validators import DataRequired, Optional
|
||||||
from wtforms_alchemy import model_form_factory, ClassMap
|
from wtforms_alchemy import model_form_factory, ClassMap
|
||||||
from wtforms_alchemy.fields import QuerySelectMultipleField
|
from wtforms_alchemy.fields import QuerySelectMultipleField
|
||||||
from sqlalchemy_utils import ChoiceType
|
|
||||||
from app import db
|
from app import db
|
||||||
import app.models as models
|
import app.models as models
|
||||||
|
|
||||||
@ -49,27 +47,26 @@ class AccueilForm(FlaskForm):
|
|||||||
importerJSON = SubmitField("ImporterJSON")
|
importerJSON = SubmitField("ImporterJSON")
|
||||||
importerYAML = SubmitField("ImporterYAML")
|
importerYAML = SubmitField("ImporterYAML")
|
||||||
|
|
||||||
def exportJSON(self):
|
def ListRef(self):
|
||||||
result = {"semestres": [], "competences": [], "acs": [], "pns": [], "saes": [], "coefsaes": [], "ressources": [], "coefressources": []}
|
result = {"semestres": [], "competences": [], "acs": [], "pns": [], "saes": [], "coefsaes": [], "ressources": [], "coefressources": []}
|
||||||
for key in result.keys():
|
for key in result.keys():
|
||||||
model = getattr(models, categorie_to_model[key])
|
model = getattr(models, categorie_to_model[key])
|
||||||
for ref in model.query.all():
|
for ref in model.query.all():
|
||||||
result[key].append(ref.export())
|
result[key].append(ref.export())
|
||||||
|
return result
|
||||||
|
|
||||||
|
def exportJSON(self):
|
||||||
|
result = self.ListRef()
|
||||||
fichier = REPERTOIRE_EXPORT + "referentiels" + ".json"
|
fichier = REPERTOIRE_EXPORT + "referentiels" + ".json"
|
||||||
with open(fichier, "w", encoding="utf8") as fid:
|
with open(fichier, "w", encoding="utf8") as fid:
|
||||||
json.dump(result, fid, cls=CustomEncoder, indent=4)
|
json.dump(result, fid, cls=CustomEncoder, indent=4)
|
||||||
|
|
||||||
def exportYAML(self):
|
def exportYAML(self):
|
||||||
result = {"semestres": [], "competences": [], "acs": [], "pns": [], "saes": [], "coefsaes": [], "ressources": [], "coefressources": []}
|
result = self.ListRef()
|
||||||
for key in result.keys():
|
|
||||||
model = getattr(models, categorie_to_model[key])
|
|
||||||
for ref in model.query.all():
|
|
||||||
result[key].append(ref.export())
|
|
||||||
fichier = REPERTOIRE_EXPORT + "referentiels" + ".yml"
|
fichier = REPERTOIRE_EXPORT + "referentiels" + ".yml"
|
||||||
with open(fichier, "w", encoding="utf8") as fid:
|
with open(fichier, "w", encoding="utf8") as fid:
|
||||||
yaml.dump(yaml.safe_load(json.dumps(result, cls=CustomEncoder)), fid, indent=4)
|
yaml.dump(yaml.safe_load(json.dumps(result, cls=CustomEncoder)), fid, indent=4)
|
||||||
|
|
||||||
|
|
||||||
class CoefForm(FlaskForm):
|
class CoefForm(FlaskForm):
|
||||||
objetformation = HiddenField("Objet de formation")
|
objetformation = HiddenField("Objet de formation")
|
||||||
coef = StringField("Coef")
|
coef = StringField("Coef")
|
||||||
@ -168,7 +165,6 @@ class PNForm(Form):
|
|||||||
|
|
||||||
type = RadioField("Type", choices=["1","2","3"])
|
type = RadioField("Type", choices=["1","2","3"])
|
||||||
|
|
||||||
|
|
||||||
class ACForm(Form):
|
class ACForm(Form):
|
||||||
regex = "^AC\d{4}$"
|
regex = "^AC\d{4}$"
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from flask import render_template, flash, redirect, url_for, request
|
from flask import render_template, flash, redirect, url_for
|
||||||
from app import app, db
|
from app import app, db
|
||||||
from app.forms import *
|
from app.forms import *
|
||||||
import app.models as models
|
import app.models as models
|
||||||
|
Loading…
Reference in New Issue
Block a user