forked from ScoDoc/DocScoDoc
sco_groups sans nt
This commit is contained in:
parent
3dfb6f07bd
commit
49a07e7704
@ -144,6 +144,8 @@ class FormSemestre(db.Model):
|
||||
d["annee_debut"] = str(self.date_debut.year)
|
||||
d["annee"] = d["annee_debut"]
|
||||
d["annee_fin"] = str(self.date_fin.year)
|
||||
if d["annee_fin"] != d["annee_debut"]:
|
||||
d["annee"] += "-" + str(d["annee_fin"])
|
||||
d["mois_debut_ord"] = self.date_debut.month
|
||||
d["mois_fin_ord"] = self.date_fin.month
|
||||
# La période: considère comme "S1" (ou S3) les débuts en aout-sept-octobre
|
||||
@ -152,15 +154,8 @@ class FormSemestre(db.Model):
|
||||
d["periode"] = 1 # typiquement, début en septembre: S1, S3...
|
||||
else:
|
||||
d["periode"] = 2 # typiquement, début en février: S2, S4...
|
||||
d["titre_num"] = self.titre_num
|
||||
d["titreannee"] = "%s %s %s" % (
|
||||
d["titre_num"],
|
||||
self.modalite or "",
|
||||
self.date_debut.year,
|
||||
)
|
||||
if d["annee_fin"] != d["annee_debut"]:
|
||||
d["titreannee"] += "-" + str(d["annee_fin"])
|
||||
d["annee"] += "-" + str(d["annee_fin"])
|
||||
d["titre_num"] = self.titre_num()
|
||||
d["titreannee"] = self.titre_annee()
|
||||
d["mois_debut"] = f"{self.date_debut.month} {self.date_debut.year}"
|
||||
d["mois_fin"] = f"{self.date_fin.month} {self.date_fin.year}"
|
||||
d["titremois"] = "%s %s (%s - %s)" % (
|
||||
@ -332,6 +327,15 @@ class FormSemestre(db.Model):
|
||||
"-".join((imputation_dept, parcours_name, modalite, semestre_id, annee_sco))
|
||||
)
|
||||
|
||||
def titre_annee(self) -> str:
|
||||
""" """
|
||||
titre_annee = (
|
||||
f"{self.titre_num()} {self.modalite or ''} {self.date_debut.year}"
|
||||
)
|
||||
if self.date_fin.year != self.date_debut.year:
|
||||
titre_annee += "-" + str(self.date_fin.year)
|
||||
return titre_annee
|
||||
|
||||
def titre_mois(self) -> str:
|
||||
"""Le titre et les dates du semestre, pour affichage dans des listes
|
||||
Ex: "BUT QLIO (PN 2022) semestre 1 FI (Sept 2022 - Jan 2023)"
|
||||
|
@ -47,7 +47,7 @@ from flask import url_for, make_response
|
||||
from app import db
|
||||
from app.comp import res_sem
|
||||
from app.comp.res_common import NotesTableCompat
|
||||
from app.models import FormSemestre
|
||||
from app.models import FormSemestre, formsemestre
|
||||
from app.models import GROUPNAME_STR_LEN, SHORT_STR_LEN
|
||||
from app.models.groups import Partition
|
||||
import app.scodoc.sco_utils as scu
|
||||
@ -1277,13 +1277,13 @@ def groups_auto_repartition(partition_id=None):
|
||||
|
||||
partition = get_partition(partition_id)
|
||||
formsemestre_id = partition["formsemestre_id"]
|
||||
formsemestre = FormSemestre.query.get(formsemestre_id)
|
||||
# renvoie sur page édition groupes
|
||||
dest_url = url_for(
|
||||
"scolar.affect_groups", scodoc_dept=g.scodoc_dept, partition_id=partition_id
|
||||
)
|
||||
if not sco_permissions_check.can_change_groups(formsemestre_id):
|
||||
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
||||
sem = sco_formsemestre.get_formsemestre(formsemestre_id)
|
||||
|
||||
descr = [
|
||||
("partition_id", {"input_type": "hidden"}),
|
||||
@ -1301,7 +1301,7 @@ def groups_auto_repartition(partition_id=None):
|
||||
H = [
|
||||
html_sco_header.sco_header(page_title="Répartition des groupes"),
|
||||
"<h2>Répartition des groupes de %s</h2>" % partition["partition_name"],
|
||||
"<p>Semestre %s</p>" % sem["titreannee"],
|
||||
f"<p>Semestre {formsemestre.titre_annee()}</p>",
|
||||
"""<p class="help">Les groupes existants seront <b>effacés</b> et remplacés par
|
||||
ceux créés ici. La répartition aléatoire tente d'uniformiser le niveau
|
||||
des groupes (en utilisant la dernière moyenne générale disponible pour
|
||||
@ -1343,7 +1343,7 @@ def groups_auto_repartition(partition_id=None):
|
||||
# return '\n'.join(H) + tf[1] + html_sco_header.sco_footer()
|
||||
group_ids.append(create_group(partition_id, group_name))
|
||||
#
|
||||
nt = sco_cache.NotesTableCache.get(formsemestre_id) # > identdict
|
||||
nt: NotesTableCompat = res_sem.load_formsemestre_results(formsemestre)
|
||||
identdict = nt.identdict
|
||||
# build: { civilite : liste etudids trie par niveau croissant }
|
||||
civilites = set([x["civilite"] for x in identdict.values()])
|
||||
@ -1384,9 +1384,8 @@ def _get_prev_moy(etudid, formsemestre_id):
|
||||
etud = info[0]
|
||||
Se = sco_parcours_dut.SituationEtudParcours(etud, formsemestre_id)
|
||||
if Se.prev:
|
||||
nt = sco_cache.NotesTableCache.get(
|
||||
Se.prev["formsemestre_id"]
|
||||
) # > get_etud_moy_gen
|
||||
prev_sem = FormSemestre.query.get(Se.prev["formsemestre_id"])
|
||||
nt: NotesTableCompat = res_sem.load_formsemestre_results(prev_sem)
|
||||
return nt.get_etud_moy_gen(etudid)
|
||||
else:
|
||||
return 0.0
|
||||
|
Loading…
Reference in New Issue
Block a user