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_debut"] = str(self.date_debut.year)
|
||||||
d["annee"] = d["annee_debut"]
|
d["annee"] = d["annee_debut"]
|
||||||
d["annee_fin"] = str(self.date_fin.year)
|
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_debut_ord"] = self.date_debut.month
|
||||||
d["mois_fin_ord"] = self.date_fin.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
|
# 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...
|
d["periode"] = 1 # typiquement, début en septembre: S1, S3...
|
||||||
else:
|
else:
|
||||||
d["periode"] = 2 # typiquement, début en février: S2, S4...
|
d["periode"] = 2 # typiquement, début en février: S2, S4...
|
||||||
d["titre_num"] = self.titre_num
|
d["titre_num"] = self.titre_num()
|
||||||
d["titreannee"] = "%s %s %s" % (
|
d["titreannee"] = self.titre_annee()
|
||||||
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["mois_debut"] = f"{self.date_debut.month} {self.date_debut.year}"
|
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["mois_fin"] = f"{self.date_fin.month} {self.date_fin.year}"
|
||||||
d["titremois"] = "%s %s (%s - %s)" % (
|
d["titremois"] = "%s %s (%s - %s)" % (
|
||||||
@ -332,6 +327,15 @@ class FormSemestre(db.Model):
|
|||||||
"-".join((imputation_dept, parcours_name, modalite, semestre_id, annee_sco))
|
"-".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:
|
def titre_mois(self) -> str:
|
||||||
"""Le titre et les dates du semestre, pour affichage dans des listes
|
"""Le titre et les dates du semestre, pour affichage dans des listes
|
||||||
Ex: "BUT QLIO (PN 2022) semestre 1 FI (Sept 2022 - Jan 2023)"
|
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 import db
|
||||||
from app.comp import res_sem
|
from app.comp import res_sem
|
||||||
from app.comp.res_common import NotesTableCompat
|
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 import GROUPNAME_STR_LEN, SHORT_STR_LEN
|
||||||
from app.models.groups import Partition
|
from app.models.groups import Partition
|
||||||
import app.scodoc.sco_utils as scu
|
import app.scodoc.sco_utils as scu
|
||||||
@ -1277,13 +1277,13 @@ def groups_auto_repartition(partition_id=None):
|
|||||||
|
|
||||||
partition = get_partition(partition_id)
|
partition = get_partition(partition_id)
|
||||||
formsemestre_id = partition["formsemestre_id"]
|
formsemestre_id = partition["formsemestre_id"]
|
||||||
|
formsemestre = FormSemestre.query.get(formsemestre_id)
|
||||||
# renvoie sur page édition groupes
|
# renvoie sur page édition groupes
|
||||||
dest_url = url_for(
|
dest_url = url_for(
|
||||||
"scolar.affect_groups", scodoc_dept=g.scodoc_dept, partition_id=partition_id
|
"scolar.affect_groups", scodoc_dept=g.scodoc_dept, partition_id=partition_id
|
||||||
)
|
)
|
||||||
if not sco_permissions_check.can_change_groups(formsemestre_id):
|
if not sco_permissions_check.can_change_groups(formsemestre_id):
|
||||||
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
|
||||||
sem = sco_formsemestre.get_formsemestre(formsemestre_id)
|
|
||||||
|
|
||||||
descr = [
|
descr = [
|
||||||
("partition_id", {"input_type": "hidden"}),
|
("partition_id", {"input_type": "hidden"}),
|
||||||
@ -1301,7 +1301,7 @@ def groups_auto_repartition(partition_id=None):
|
|||||||
H = [
|
H = [
|
||||||
html_sco_header.sco_header(page_title="Répartition des groupes"),
|
html_sco_header.sco_header(page_title="Répartition des groupes"),
|
||||||
"<h2>Répartition des groupes de %s</h2>" % partition["partition_name"],
|
"<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
|
"""<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
|
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
|
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()
|
# return '\n'.join(H) + tf[1] + html_sco_header.sco_footer()
|
||||||
group_ids.append(create_group(partition_id, group_name))
|
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
|
identdict = nt.identdict
|
||||||
# build: { civilite : liste etudids trie par niveau croissant }
|
# build: { civilite : liste etudids trie par niveau croissant }
|
||||||
civilites = set([x["civilite"] for x in identdict.values()])
|
civilites = set([x["civilite"] for x in identdict.values()])
|
||||||
@ -1384,9 +1384,8 @@ def _get_prev_moy(etudid, formsemestre_id):
|
|||||||
etud = info[0]
|
etud = info[0]
|
||||||
Se = sco_parcours_dut.SituationEtudParcours(etud, formsemestre_id)
|
Se = sco_parcours_dut.SituationEtudParcours(etud, formsemestre_id)
|
||||||
if Se.prev:
|
if Se.prev:
|
||||||
nt = sco_cache.NotesTableCache.get(
|
prev_sem = FormSemestre.query.get(Se.prev["formsemestre_id"])
|
||||||
Se.prev["formsemestre_id"]
|
nt: NotesTableCompat = res_sem.load_formsemestre_results(prev_sem)
|
||||||
) # > get_etud_moy_gen
|
|
||||||
return nt.get_etud_moy_gen(etudid)
|
return nt.get_etud_moy_gen(etudid)
|
||||||
else:
|
else:
|
||||||
return 0.0
|
return 0.0
|
||||||
|
Loading…
Reference in New Issue
Block a user