forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -337,7 +337,7 @@ def assiduites_group(with_query: bool = False):
|
||||
try:
|
||||
etuds = [int(etu) for etu in etuds]
|
||||
except ValueError:
|
||||
return json_error(404, "Le champs etudids n'est pas correctement formé")
|
||||
return json_error(404, "Le champ etudids n'est pas correctement formé")
|
||||
|
||||
# Vérification que tous les étudiants sont du même département
|
||||
query = Identite.query.filter(Identite.id.in_(etuds))
|
||||
|
@ -17,7 +17,7 @@ def UEParcoursECTSForm(ue: UniteEns) -> FlaskForm:
|
||||
pass
|
||||
|
||||
parcours: list[ApcParcours] = ue.formation.referentiel_competence.parcours
|
||||
# Initialise un champs de saisie par parcours
|
||||
# Initialise un champ de saisie par parcours
|
||||
for parcour in parcours:
|
||||
ects = ue.get_ects(parcour, only_parcours=True)
|
||||
setattr(
|
||||
|
@ -82,7 +82,7 @@ class ConfigCASForm(FlaskForm):
|
||||
|
||||
cas_attribute_id = StringField(
|
||||
label="Attribut CAS utilisé comme id (laissez vide pour prendre l'id par défaut)",
|
||||
description="""Le champs CAS qui sera considéré comme l'id unique des
|
||||
description="""Le champ CAS qui sera considéré comme l'id unique des
|
||||
comptes utilisateurs.""",
|
||||
)
|
||||
|
||||
|
@ -297,7 +297,7 @@ class ScoDocSiteConfig(db.Model):
|
||||
|
||||
@classmethod
|
||||
def _get_int_field(cls, name: str, default=None) -> int:
|
||||
"""Valeur d'un champs integer"""
|
||||
"""Valeur d'un champ integer"""
|
||||
cfg = ScoDocSiteConfig.query.filter_by(name=name).first()
|
||||
if (cfg is None) or cfg.value is None:
|
||||
return default
|
||||
@ -311,7 +311,7 @@ class ScoDocSiteConfig(db.Model):
|
||||
default=None,
|
||||
range_values: tuple = (),
|
||||
) -> bool:
|
||||
"""Set champs integer. True si changement."""
|
||||
"""Set champ integer. True si changement."""
|
||||
if value != cls._get_int_field(name, default=default):
|
||||
if not isinstance(value, int) or (
|
||||
range_values and (value < range_values[0]) or (value > range_values[1])
|
||||
|
@ -396,7 +396,7 @@ class TF(object):
|
||||
self.values[field] = int(self.values[field])
|
||||
except ValueError:
|
||||
msg.append(
|
||||
f"valeur invalide ({self.values[field]}) pour le champs {field}"
|
||||
f"valeur invalide ({self.values[field]}) pour le champ {field}"
|
||||
)
|
||||
ok = False
|
||||
elif typ == "float" or typ == "real":
|
||||
@ -404,7 +404,7 @@ class TF(object):
|
||||
self.values[field] = float(self.values[field].replace(",", "."))
|
||||
except ValueError:
|
||||
msg.append(
|
||||
f"valeur invalide ({self.values[field]}) pour le champs {field}"
|
||||
f"valeur invalide ({self.values[field]}) pour le champ {field}"
|
||||
)
|
||||
ok = False
|
||||
if ok:
|
||||
|
@ -265,7 +265,7 @@ def DBUpdateArgs(cnx, table, vals, where=None, commit=False, convert_empty_to_nu
|
||||
# log('vals=%s\n'%vals)
|
||||
except psycopg2.errors.StringDataRightTruncation as exc:
|
||||
cnx.rollback()
|
||||
raise ScoValueError("champs de texte trop long !") from exc
|
||||
raise ScoValueError("champ de texte trop long !") from exc
|
||||
except:
|
||||
cnx.rollback() # get rid of this transaction
|
||||
log('Exception in DBUpdateArgs:\n\treq="%s"\n\tvals="%s"\n' % (req, vals))
|
||||
|
@ -166,9 +166,9 @@ def process_field(
|
||||
values={pprint.pformat(cdict)}
|
||||
"""
|
||||
)
|
||||
text = f"""<para><i>format invalide: champs</i> {missing_key} <i>inexistant !</i></para>"""
|
||||
text = f"""<para><i>format invalide: champ</i> {missing_key} <i>inexistant !</i></para>"""
|
||||
scu.flash_once(
|
||||
f"Attention: format PDF invalide (champs {field}, clef {missing_key})"
|
||||
f"Attention: format PDF invalide (champ {field}, clef {missing_key})"
|
||||
)
|
||||
raise
|
||||
except: # pylint: disable=bare-except
|
||||
|
@ -494,7 +494,7 @@ def _normalize_apo_fields(infolist):
|
||||
infolist: liste de dict renvoyés par le portail Apogee
|
||||
|
||||
recode les champs: paiementinscription (-> booleen), datefinalisationinscription (date)
|
||||
ajoute le champs 'paiementinscription_str' : 'ok', 'Non' ou '?'
|
||||
ajoute le champ 'paiementinscription_str' : 'ok', 'Non' ou '?'
|
||||
ajoute les champs 'etape' (= None) et 'prenom' ('') s'ils ne sont pas présents.
|
||||
ajoute le champ 'civilite_etat_civil' (=''), et 'prenom_etat_civil' (='') si non présent.
|
||||
"""
|
||||
|
@ -342,13 +342,15 @@ def _build_page(
|
||||
"\n".join(options),
|
||||
"""</select>
|
||||
""",
|
||||
""
|
||||
if read_only
|
||||
else f"""
|
||||
(
|
||||
""
|
||||
if read_only
|
||||
else f"""
|
||||
<input type="hidden" name="formsemestre_id" value="{sem['formsemestre_id']}"/>
|
||||
<input type="submit" name="submitted" value="Appliquer les modifications"/>
|
||||
<a href="#help">aide</a>
|
||||
""",
|
||||
"""
|
||||
),
|
||||
sco_inscr_passage.etuds_select_boxes(
|
||||
etuds_by_cat,
|
||||
sel_inscrits=False,
|
||||
@ -356,9 +358,11 @@ def _build_page(
|
||||
base_url=base_url,
|
||||
read_only=read_only,
|
||||
),
|
||||
""
|
||||
if read_only
|
||||
else """<p/><input type="submit" name="submitted" value="Appliquer les modifications"/>""",
|
||||
(
|
||||
""
|
||||
if read_only
|
||||
else """<p/><input type="submit" name="submitted" value="Appliquer les modifications"/>"""
|
||||
),
|
||||
formsemestre_synchro_etuds_help(sem),
|
||||
"""</form>""",
|
||||
]
|
||||
@ -420,9 +424,9 @@ def list_synch(sem, annee_apogee=None):
|
||||
log(f"XXX key2etud etudid={etudid}, type {type(etudid)}")
|
||||
etud = etuds[0]
|
||||
etud["inscrit"] = is_inscrit # checkbox state
|
||||
etud[
|
||||
"datefinalisationinscription"
|
||||
] = date_finalisation_inscr_by_nip.get(key, None)
|
||||
etud["datefinalisationinscription"] = (
|
||||
date_finalisation_inscr_by_nip.get(key, None)
|
||||
)
|
||||
if key in etudsapo_ident:
|
||||
etud["etape"] = etudsapo_ident[key].get("etape", "")
|
||||
else:
|
||||
@ -855,7 +859,7 @@ def formsemestre_import_etud_admission(
|
||||
if import_email:
|
||||
if not "mail" in data_apo:
|
||||
raise ScoValueError(
|
||||
"la réponse portail n'a pas le champs requis 'mail'"
|
||||
"la réponse portail n'a pas le champ requis 'mail'"
|
||||
)
|
||||
if (
|
||||
adresse.email != data_apo["mail"]
|
||||
|
@ -1018,7 +1018,7 @@ def flash_errors(form):
|
||||
"""Flashes form errors (version sommaire)"""
|
||||
for field, errors in form.errors.items():
|
||||
flash(
|
||||
"Erreur: voir le champs %s" % (getattr(form, field).label.text,),
|
||||
"Erreur: voir le champ %s" % (getattr(form, field).label.text,),
|
||||
"warning",
|
||||
)
|
||||
# see https://getbootstrap.com/docs/4.0/components/alerts/
|
||||
|
@ -49,7 +49,7 @@ table#edt2group tbody tr.active-row {
|
||||
</div>
|
||||
|
||||
{% if ScoDocSiteConfig.get("edt_ics_group_field") %}
|
||||
<div>Les groupes sont extrait du champs <b>{{ScoDocSiteConfig.get("edt_ics_group_field")}}</b>
|
||||
<div>Les groupes sont extrait du champ <b>{{ScoDocSiteConfig.get("edt_ics_group_field")}}</b>
|
||||
à l'aide de l'expression régulière: <tt>{{ScoDocSiteConfig.get("edt_ics_group_regexp")}}</tt>
|
||||
</div>
|
||||
{% else %}
|
||||
|
Loading…
Reference in New Issue
Block a user