forked from ScoDoc/DocScoDoc
Ajout lien saisie absence sur tableau bord module, et lien affichage notes tous
This commit is contained in:
parent
44dde2e678
commit
e9e9e1c6e1
@ -936,7 +936,7 @@ class ZAbsences(
|
||||
moduleimpl_id = None
|
||||
|
||||
groups_infos = sco_groups_view.DisplayedGroupsInfos(
|
||||
self, group_ids, REQUEST=REQUEST
|
||||
self, group_ids, moduleimpl_id=moduleimpl_id, REQUEST=REQUEST
|
||||
)
|
||||
if not groups_infos.members:
|
||||
return (
|
||||
|
@ -764,14 +764,11 @@ UE11 Découverte métiers <span class="ue_code">(code UCOD46, 16 ECTS, Apo <span
|
||||
# Semestres dans lesquel il est inscrit
|
||||
ins = self.Notes.do_formsemestre_inscription_list({"etudid": etudid})
|
||||
etud["ins"] = ins
|
||||
now = time.strftime("%Y-%m-%d")
|
||||
sems = []
|
||||
cursem = None # semestre "courant" ou il est inscrit
|
||||
for i in ins:
|
||||
sem = sco_formsemestre.get_formsemestre(self, i["formsemestre_id"])
|
||||
debut = DateDMYtoISO(sem["date_debut"])
|
||||
fin = DateDMYtoISO(sem["date_fin"])
|
||||
if debut <= now and now <= fin:
|
||||
if sco_formsemestre.sem_est_courant(self, sem):
|
||||
cursem = sem
|
||||
curi = i
|
||||
sem["ins"] = i
|
||||
|
@ -374,8 +374,8 @@ def sem_in_semestre_scolaire(context, sem, year=False, saison=0, REQUEST=None):
|
||||
si saison non spécifiée: année complète
|
||||
pivot de saison au 1er décembre
|
||||
XXX TODO: la période (ici appelée "saison" devrait être éditable
|
||||
manuellement dans le formsemestre_edit afin de couvrir els cas particulier
|
||||
comme un semestre S2 qui commecerait en décembre... voire novembre.
|
||||
manuellement dans le formsemestre_edit afin de couvrir les cas particulier
|
||||
comme un semestre S2 qui commencerait en décembre... voire novembre.
|
||||
)
|
||||
"""
|
||||
if not year:
|
||||
@ -429,6 +429,14 @@ def sem_une_annee(context, sem):
|
||||
return debut == fin
|
||||
|
||||
|
||||
def sem_est_courant(context, sem):
|
||||
"""Vrai si la date actuelle (now) est dans le semestre (les dates de début et fin sont incluses)"""
|
||||
now = time.strftime("%Y-%m-%d")
|
||||
debut = DateDMYtoISO(sem["date_debut"])
|
||||
fin = DateDMYtoISO(sem["date_fin"])
|
||||
return (debut <= now) and (now <= fin)
|
||||
|
||||
|
||||
def scodoc_get_all_unlocked_sems(context):
|
||||
"""Liste de tous les semestres non verrouillés de tous les départements"""
|
||||
depts = context.list_depts()
|
||||
|
@ -298,6 +298,7 @@ class DisplayedGroupsInfos:
|
||||
formsemestre_id=None,
|
||||
etat=None,
|
||||
select_all_when_unspecified=False,
|
||||
moduleimpl_id=None, # used to find formsemestre when unspecified
|
||||
REQUEST=None,
|
||||
):
|
||||
# log('DisplayedGroupsInfos %s' % group_ids)
|
||||
@ -306,10 +307,15 @@ class DisplayedGroupsInfos:
|
||||
group_ids = [group_ids] # cas ou un seul parametre, pas de liste
|
||||
else:
|
||||
group_ids = []
|
||||
if not formsemestre_id and moduleimpl_id:
|
||||
mods = context.Notes.do_moduleimpl_list(moduleimpl_id=moduleimpl_id)
|
||||
if len(mods) != 1:
|
||||
raise ValueError("invalid moduleimpl_id")
|
||||
formsemestre_id = mods[0]["formsemestre_id"]
|
||||
|
||||
if not group_ids: # appel sans groupe (eg page accueil)
|
||||
if not formsemestre_id:
|
||||
raise Exception("missing parameter") # formsemestre_id or group_ids
|
||||
raise Exception("missing parameter formsemestre_id or group_ids")
|
||||
if select_all_when_unspecified:
|
||||
group_ids = [sco_groups.get_default_group(context, formsemestre_id)]
|
||||
else:
|
||||
@ -856,7 +862,9 @@ def tab_photos_html(context, groups_infos, etat=None, REQUEST=None):
|
||||
return sco_trombino.trombino_html(context, groups_infos, REQUEST=REQUEST)
|
||||
|
||||
|
||||
def form_choix_jour_saisie_hebdo(context, groups_infos, REQUEST=None):
|
||||
def form_choix_jour_saisie_hebdo(
|
||||
context, groups_infos, moduleimpl_id=None, REQUEST=None
|
||||
):
|
||||
"""Formulaire choix jour semaine pour saisie."""
|
||||
authuser = REQUEST.AUTHENTICATED_USER
|
||||
if not authuser.has_permission(ScoAbsChange, context):
|
||||
@ -871,7 +879,10 @@ def form_choix_jour_saisie_hebdo(context, groups_infos, REQUEST=None):
|
||||
)
|
||||
FA.append('<input type="hidden" name="datefin" value="%(date_fin)s"/>' % sem)
|
||||
FA.append(groups_infos.get_form_elem())
|
||||
|
||||
if moduleimpl_id:
|
||||
FA.append(
|
||||
'<input type="hidden" name="moduleimpl_id" value="%s"/>' % moduleimpl_id
|
||||
)
|
||||
FA.append('<input type="hidden" name="destination" value=""/>')
|
||||
|
||||
FA.append(
|
||||
|
@ -43,7 +43,7 @@ import sco_formsemestre
|
||||
import sco_formsemestre_status
|
||||
from sco_formsemestre_status import makeMenu
|
||||
import sco_compute_moy
|
||||
|
||||
import ZAbsences
|
||||
|
||||
# ported from old DTML code in oct 2009
|
||||
|
||||
@ -224,7 +224,6 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No
|
||||
)
|
||||
H.append("</td></tr>")
|
||||
else:
|
||||
t0, t1 = "<em>règle de calcul standard</em>", ""
|
||||
H.append(
|
||||
'<tr><td colspan="4"><em title="mode de calcul de la moyenne du module">règle de calcul standard</em>'
|
||||
)
|
||||
@ -235,10 +234,21 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No
|
||||
)
|
||||
H.append("</td></tr>")
|
||||
H.append(
|
||||
'<tr><td colspan="2"><a class="stdlink" href="view_module_abs?moduleimpl_id=%s">Absences</a> '
|
||||
'<tr><td colspan="4"><span class="moduleimpl_abs_link"><a class="stdlink" href="view_module_abs?moduleimpl_id=%s">Absences dans ce module</a></span>'
|
||||
% moduleimpl_id
|
||||
)
|
||||
H.append("</table>")
|
||||
# Adapté à partir d'une suggestion de DS (Le Havre)
|
||||
# Liens saisies absences seulement si permission et date courante dans le semestre
|
||||
if authuser.has_permission(
|
||||
ScoAbsChange, context
|
||||
) and sco_formsemestre.sem_est_courant(context, sem):
|
||||
datelundi = ZAbsences.ddmmyyyy(time.strftime("%d/%m/%Y")).prev_monday()
|
||||
H.append(
|
||||
'<span class="moduleimpl_abs_link"><a class="stdlink" href="Absences/SignaleAbsenceGrHebdo?formsemestre_id=%s&moduleimpl_id=%s&datelundi=%s">Saisie Absences hebdo.</a></span>'
|
||||
% (formsemestre_id, moduleimpl_id, datelundi)
|
||||
)
|
||||
|
||||
H.append("</td></tr></table>")
|
||||
#
|
||||
if has_expression and nt.expr_diagnostics:
|
||||
H.append(
|
||||
@ -478,7 +488,11 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No
|
||||
% etat
|
||||
)
|
||||
if etat["moy"]:
|
||||
H.append("%s / %g" % (etat["moy"], eval["note_max"]))
|
||||
H.append("<b>%s / %g</b>" % (etat["moy"], eval["note_max"]))
|
||||
H.append(
|
||||
""" (<a href="evaluation_listenotes?evaluation_id=%s">afficher</a>)"""
|
||||
% (eval["evaluation_id"],)
|
||||
)
|
||||
else:
|
||||
H.append(
|
||||
"""<a class="redlink" href="saisie_notes?evaluation_id=%s">saisir notes</a>"""
|
||||
@ -488,7 +502,6 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No
|
||||
#
|
||||
if etat["nb_notes"] == 0:
|
||||
H.append("""<tr class="%s"><td colspan="8"> """ % tr_class)
|
||||
# XXX
|
||||
H.append("""</td></tr>""")
|
||||
else: # il y a deja des notes saisies
|
||||
gr_moyennes = etat["gr_moyennes"]
|
||||
@ -505,7 +518,7 @@ def moduleimpl_status(context, moduleimpl_id=None, partition_id=None, REQUEST=No
|
||||
if gr_moyenne["gr_nb_notes"] > 0:
|
||||
H.append("%(gr_moy)s" % gr_moyenne)
|
||||
H.append(
|
||||
""" (<a href="evaluation_listenotes?tf-submitted=1&evaluation_id=%s&group_ids%%3Alist=%s">%s</a> notes"""
|
||||
""" (<a href="evaluation_listenotes?tf-submitted=1&evaluation_id=%s&group_ids%%3Alist=%s">%s notes</a>"""
|
||||
% (
|
||||
eval["evaluation_id"],
|
||||
gr_moyenne["group_id"],
|
||||
|
@ -1223,7 +1223,7 @@ ul.ue_inscr_list li.etud {
|
||||
}
|
||||
|
||||
#grouplists table {
|
||||
//border: 1px solid black;
|
||||
/*border: 1px solid black;*/
|
||||
border-spacing: 1px;
|
||||
}
|
||||
|
||||
@ -1236,7 +1236,9 @@ div.moduleimpl_tableaubord {
|
||||
padding: 7px;
|
||||
border: 2px solid gray;
|
||||
}
|
||||
|
||||
span.moduleimpl_abs_link {
|
||||
padding-right: 2em;
|
||||
}
|
||||
.moduleimpl_evaluations_top_links {
|
||||
font-size: 80%;
|
||||
margin-bottom: 3px;
|
||||
|
Loading…
Reference in New Issue
Block a user