Update opolka/ScoDoc from ScoDoc/ScoDoc #2

Merged
opolka merged 1272 commits from ScoDoc/ScoDoc:master into master 2024-05-27 09:11:04 +02:00
5 changed files with 25 additions and 8 deletions
Showing only changes of commit 2873253cb4 - Show all commits

View File

@ -557,7 +557,7 @@ def _delete_singular(assiduite_id: int, database):
if assiduite_unique is None: if assiduite_unique is None:
return (404, "Assiduite non existante") return (404, "Assiduite non existante")
ass_dict = assiduite_unique.to_dict() ass_dict = assiduite_unique.to_dict()
log(f"delete_assiduite: {assiduite_unique}") log(f"delete_assiduite: {assiduite_unique.etudiant.id} {assiduite_unique}")
Scolog.logdb( Scolog.logdb(
method="delete_assiduite", method="delete_assiduite",
etudid=assiduite_unique.etudiant.id, etudid=assiduite_unique.etudiant.id,
@ -637,7 +637,7 @@ def assiduite_edit(assiduite_id: int):
err: str = ", ".join(errors) err: str = ", ".join(errors)
return json_error(404, err) return json_error(404, err)
log(f"assiduite_edit: {assiduite_unique}") log(f"assiduite_edit: {assiduite_unique.etudiant.id} {assiduite_unique}")
Scolog.logdb( Scolog.logdb(
"assiduite_edit", "assiduite_edit",
assiduite_unique.etudiant.id, assiduite_unique.etudiant.id,
@ -743,7 +743,7 @@ def _edit_singular(assiduite_unique, data):
err: str = ", ".join(errors) err: str = ", ".join(errors)
return (404, err) return (404, err)
log(f"_edit_singular: {assiduite_unique}") log(f"_edit_singular: {assiduite_unique.etudiant.id} {assiduite_unique}")
Scolog.logdb( Scolog.logdb(
"assiduite_edit", "assiduite_edit",
assiduite_unique.etudiant.id, assiduite_unique.etudiant.id,

View File

@ -148,7 +148,7 @@ class Assiduite(db.Model):
est_just=est_just, est_just=est_just,
) )
log(f"create_assiduite: {nouv_assiduite}") log(f"create_assiduite: {etud.id} {nouv_assiduite}")
Scolog.logdb( Scolog.logdb(
method="create_assiduite", method="create_assiduite",
etudid=etud.id, etudid=etud.id,
@ -230,6 +230,18 @@ class Justificatif(db.Model):
} }
return data return data
def __str__(self) -> str:
"chaine pour journaux et debug (lisible par humain français)"
try:
etat_str = EtatJustificatif(self.etat).name
except ValueError:
etat_str = "Invalide"
return f"""Justificatif {etat_str} de {
self.date_debut.strftime("%d/%m/%Y %Hh%M")
} à {
self.date_fin.strftime("%d/%m/%Y %Hh%M")
}"""
@classmethod @classmethod
def create_justificatif( def create_justificatif(
cls, cls,
@ -251,6 +263,12 @@ class Justificatif(db.Model):
entry_date=entry_date, entry_date=entry_date,
user_id=user_id, user_id=user_id,
) )
log(f"create_justificatif: {etud.id} {nouv_justificatif}")
Scolog.logdb(
method="create_justificatif",
etudid=etud.id,
msg=f"justificatif: {nouv_justificatif}",
)
return nouv_justificatif return nouv_justificatif

View File

@ -287,7 +287,7 @@ if (group_id) {
return "\n".join(H) return "\n".join(H)
class DisplayedGroupsInfos(object): class DisplayedGroupsInfos:
"""Container with attributes describing groups to display in the page """Container with attributes describing groups to display in the page
.groups_query_args : 'group_ids=xxx&group_ids=yyy' .groups_query_args : 'group_ids=xxx&group_ids=yyy'
.base_url : url de la requete, avec les groupes, sans les autres paramètres .base_url : url de la requete, avec les groupes, sans les autres paramètres
@ -348,7 +348,7 @@ class DisplayedGroupsInfos(object):
self.tous_les_etuds_du_sem = ( self.tous_les_etuds_du_sem = (
False # affiche tous les etuds du semestre ? (si un seul semestre) False # affiche tous les etuds du semestre ? (si un seul semestre)
) )
self.sems = collections.OrderedDict() # formsemestre_id : sem self.sems = {} # formsemestre_id : sem
self.formsemestre = None self.formsemestre = None
self.formsemestre_id = formsemestre_id self.formsemestre_id = formsemestre_id
self.nbdem = 0 # nombre d'étudiants démissionnaires en tout self.nbdem = 0 # nombre d'étudiants démissionnaires en tout

View File

@ -1333,7 +1333,7 @@ table.gt_table tr.etuddem td a {
} }
table.gt_table tr.etuddem td.etudinfo:first-child::after { table.gt_table tr.etuddem td.etudinfo:first-child::after {
color: red; color: red;
content: " (dem.)"; content: " (dém.)";
} }
td.etudabs, td.etudabs,

View File

@ -466,7 +466,6 @@ def signal_assiduites_group():
groups_infos = sco_groups_view.DisplayedGroupsInfos( groups_infos = sco_groups_view.DisplayedGroupsInfos(
group_ids, moduleimpl_id=moduleimpl_id, formsemestre_id=formsemestre_id group_ids, moduleimpl_id=moduleimpl_id, formsemestre_id=formsemestre_id
) )
if not groups_infos.members: if not groups_infos.members:
return ( return (
html_sco_header.sco_header(page_title="Saisie journalière des Assiduités") html_sco_header.sco_header(page_title="Saisie journalière des Assiduités")