Traitement erreur import xml formation + typos

This commit is contained in:
Emmanuel Viennet 2025-02-26 15:43:21 +01:00
parent eef00649de
commit a9a9cdcc9d
2 changed files with 20 additions and 12 deletions

View File

@ -280,7 +280,15 @@ def formation_import_xml(doc: str | bytes, import_tags=True, use_local_refcomp=F
from app.formations import edit_formation
if isinstance(doc, bytes):
doc = doc.decode(scu.SCO_ENCODING)
try:
doc = doc.decode(scu.SCO_ENCODING)
except UnicodeDecodeError as exc:
log(
f"formation_import_xml: invalid XML data for encoding {scu.SCO_ENCODING}:\n{exc}"
)
raise ScoValueError(
f"Fichier XML invalide {exc} dans l'encodage attendu {scu.SCO_ENCODING}"
) from exc
try:
dom = xml.dom.minidom.parseString(sco_xml.remove_control_characters(doc))
except Exception as exc:

View File

@ -33,24 +33,24 @@ button[name="action"] {
<h2>Création d'une copie de {{ etud.html_link_fiche() | safe }}</h2>
<div class="help">
<div class="help">
<p>Utiliser cette page lorsqu'un étudinat change de département. ScoDoc gère
séparéement les étudiants des départements. Il faut donc dans ce cas
exceptionnel créer une copie de l'étudiant et l'inscrire dans un semestre de son
nouveau département. Seules les donénes sur l'identité de l'étudiant (état
civil, adresse, ...) sont dupliquées. Dans le noveau département, les résultats
obtenus dans le département d'origine ne seront pas visibles.
</p>
<p>Utiliser cette page lorsqu'un étudiant change de département.</p>
<p>ScoDoc gère séparément les étudiants des départements. Il faut donc dans ce
cas exceptionnel créer une copie de l'étudiant et l'inscrire dans un semestre de
son nouveau département. Seules les données sur l'identité de l'étudiant (état
civil, adresse, ...) sont dupliquées. Dans le nouveau département, les résultats
obtenus dans le département d'origine ne seront pas visibles. </p>
<p>Si des UEs ou compétences de l'ancien département doivent être validées dans
le nouveau, il faudra utiliser ensuite une "validation d'UE antérieure".
le nouveau, il faudra utiliser ensuite une "<b>validation d'UE antérieure</b>".
</p>
<p>Attention: seuls les départements dans lesquels vous avez la permission
d'inscrire des étudiants sont présentés ici. Il faudra peut-être solliciter
l'administrateur de ce ScoDoc.
</p>
</p>
<p>Dans chaque département autorisés, seuls les semestres non verrouillés sont
montrés. Choisir le semestre destination et valider le formulaire.
@ -69,7 +69,7 @@ parcours si besoin.
{% for sem in formsemestres_by_dept[dept.id]%}
<div>
<label>
<input type="radio" class="formsemestre" name="formsemestre_id" value="{{ sem.id }}">
<input type="radio" class="formsemestre" name="formsemestre_id" value="{{ sem.id }}">
{{ sem.html_link_status() | safe }}
</label>
</div>