forked from ScoDoc/ScoDoc
Améliore qq msg d'erreur + lien formsemestre_status vers listes
This commit is contained in:
parent
a447c6e5f9
commit
814a8dbc24
@ -136,7 +136,8 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
|
|||||||
|
|
||||||
prefs = sco_preferences.SemPreferences(formsemestre_id)
|
prefs = sco_preferences.SemPreferences(formsemestre_id)
|
||||||
nt = sco_cache.NotesTableCache.get(formsemestre_id) # > toutes notes
|
nt = sco_cache.NotesTableCache.get(formsemestre_id) # > toutes notes
|
||||||
|
if not nt.get_etud_etat(etudid):
|
||||||
|
raise ScoValueError("Etudiant non inscrit à ce semestre")
|
||||||
I = scu.DictDefault(defaultvalue="")
|
I = scu.DictDefault(defaultvalue="")
|
||||||
I["etudid"] = etudid
|
I["etudid"] = etudid
|
||||||
I["formsemestre_id"] = formsemestre_id
|
I["formsemestre_id"] = formsemestre_id
|
||||||
@ -774,8 +775,8 @@ def formsemestre_bulletinetud(
|
|||||||
except:
|
except:
|
||||||
sco_etud.log_unknown_etud()
|
sco_etud.log_unknown_etud()
|
||||||
raise ScoValueError("étudiant inconnu")
|
raise ScoValueError("étudiant inconnu")
|
||||||
|
# API, donc erreurs admises en ScoValueError
|
||||||
sem = sco_formsemestre.get_formsemestre(formsemestre_id)
|
sem = sco_formsemestre.get_formsemestre(formsemestre_id, raise_soft_exc=True)
|
||||||
|
|
||||||
bulletin = do_formsemestre_bulletinetud(
|
bulletin = do_formsemestre_bulletinetud(
|
||||||
formsemestre_id,
|
formsemestre_id,
|
||||||
|
@ -845,6 +845,7 @@ def ue_sharing_code(ue_code=None, ue_id=None, hide_ue_id=None):
|
|||||||
"""
|
"""
|
||||||
from app.scodoc import sco_formations
|
from app.scodoc import sco_formations
|
||||||
|
|
||||||
|
ue_code = str(ue_code)
|
||||||
if ue_id:
|
if ue_id:
|
||||||
ue = do_ue_list(args={"ue_id": ue_id})[0]
|
ue = do_ue_list(args={"ue_id": ue_id})[0]
|
||||||
if not ue_code:
|
if not ue_code:
|
||||||
|
@ -93,16 +93,18 @@ _formsemestreEditor = ndb.EditableTable(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_formsemestre(formsemestre_id):
|
def get_formsemestre(formsemestre_id, raise_soft_exc=False):
|
||||||
"list ONE formsemestre"
|
"list ONE formsemestre"
|
||||||
if not isinstance(formsemestre_id, int):
|
if not isinstance(formsemestre_id, int):
|
||||||
raise ValueError("formsemestre_id must be an integer !")
|
raise ValueError("formsemestre_id must be an integer !")
|
||||||
try:
|
sems = do_formsemestre_list(args={"formsemestre_id": formsemestre_id})
|
||||||
sem = do_formsemestre_list(args={"formsemestre_id": formsemestre_id})[0]
|
if not sems:
|
||||||
return sem
|
|
||||||
except:
|
|
||||||
log("get_formsemestre: invalid formsemestre_id (%s)" % formsemestre_id)
|
log("get_formsemestre: invalid formsemestre_id (%s)" % formsemestre_id)
|
||||||
raise
|
if raise_soft_exc:
|
||||||
|
raise ScoValueError(f"semestre {formsemestre_id} inconnu !")
|
||||||
|
else:
|
||||||
|
raise ValueError(f"semestre {formsemestre_id} inconnu !")
|
||||||
|
return sems[0]
|
||||||
|
|
||||||
|
|
||||||
def do_formsemestre_list(*a, **kw):
|
def do_formsemestre_list(*a, **kw):
|
||||||
|
@ -505,15 +505,29 @@ def formsemestre_page_title():
|
|||||||
|
|
||||||
fill_formsemestre(sem)
|
fill_formsemestre(sem)
|
||||||
|
|
||||||
H = [
|
h = f"""<div class="formsemestre_page_title">
|
||||||
"""<div class="formsemestre_page_title">""",
|
<div class="infos">
|
||||||
"""<div class="infos">
|
<span class="semtitle"><a class="stdlink" title="%(session_id)s"
|
||||||
<span class="semtitle"><a class="stdlink" title="%(session_id)s" href="%(notes_url)s/formsemestre_status?formsemestre_id=%(formsemestre_id)s">%(titre)s</a><a title="%(etape_apo_str)s">%(num_sem)s</a>%(modalitestr)s</span><span class="dates"><a title="du %(date_debut)s au %(date_fin)s ">%(mois_debut)s - %(mois_fin)s</a></span><span class="resp"><a title="%(nomcomplet)s">%(resp)s</a></span><span class="nbinscrits"><a class="discretelink" href="%(notes_url)s/formsemestre_lists?formsemestre_id=%(formsemestre_id)s">%(nbinscrits)d inscrits</a></span><span class="lock">%(locklink)s</span><span class="eye">%(eyelink)s</span></div>"""
|
href="{url_for('notes.formsemestre_status',
|
||||||
% sem,
|
scodoc_dept=g.scodoc_dept, formsemestre_id=sem['formsemestre_id'])}"
|
||||||
formsemestre_status_menubar(sem),
|
>{sem['titre']}</a><a
|
||||||
"""</div>""",
|
title="{sem['etape_apo_str']}">{sem['num_sem']}</a>{sem['modalitestr']}</span><span
|
||||||
]
|
class="dates"><a
|
||||||
return "\n".join(H)
|
title="du {sem['date_debut']} au {sem['date_fin']} "
|
||||||
|
>{sem['mois_debut']} - {sem['mois_fin']}</a></span><span
|
||||||
|
class="resp"><a title="{sem['nomcomplet']}">{sem['resp']}</a></span><span
|
||||||
|
class="nbinscrits"><a class="discretelink"
|
||||||
|
href="{url_for("scolar.groups_view",
|
||||||
|
scodoc_dept=g.scodoc_dept, formsemestre_id=sem['formsemestre_id'])}"
|
||||||
|
>{sem['nbinscrits']} inscrits</a></span><span
|
||||||
|
class="lock">{sem['locklink']}</span><span
|
||||||
|
class="eye">{sem['eyelink']}</span>
|
||||||
|
</div>
|
||||||
|
{formsemestre_status_menubar(sem)}
|
||||||
|
</div>
|
||||||
|
"""
|
||||||
|
|
||||||
|
return h
|
||||||
|
|
||||||
|
|
||||||
def fill_formsemestre(sem):
|
def fill_formsemestre(sem):
|
||||||
@ -967,7 +981,7 @@ def formsemestre_status(formsemestre_id=None):
|
|||||||
"""Tableau de bord semestre HTML"""
|
"""Tableau de bord semestre HTML"""
|
||||||
# porté du DTML
|
# porté du DTML
|
||||||
cnx = ndb.GetDBConnexion()
|
cnx = ndb.GetDBConnexion()
|
||||||
sem = sco_formsemestre.get_formsemestre(formsemestre_id)
|
sem = sco_formsemestre.get_formsemestre(formsemestre_id, raise_soft_exc=True)
|
||||||
Mlist = sco_moduleimpl.do_moduleimpl_withmodule_list(
|
Mlist = sco_moduleimpl.do_moduleimpl_withmodule_list(
|
||||||
formsemestre_id=formsemestre_id
|
formsemestre_id=formsemestre_id
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user