forked from ScoDoc/DocScoDoc
Améliore édition module (rattachements UE)
This commit is contained in:
parent
cc6ec2416c
commit
f89e74c53c
@ -476,31 +476,21 @@ def module_edit(module_id=None):
|
||||
parcours = sco_codes_parcours.get_parcours_from_code(formation["type_parcours"])
|
||||
is_apc = parcours.APC_SAE # BUT
|
||||
in_use = len(a_module.modimpls.all()) > 0 # il y a des modimpls
|
||||
matieres = Matiere.query.filter(
|
||||
Matiere.ue_id == UniteEns.id, UniteEns.formation_id == formation_id
|
||||
).order_by(UniteEns.semestre_idx, UniteEns.numero, Matiere.numero)
|
||||
if in_use:
|
||||
# matières du même semestre seulement
|
||||
ues_matieres = ndb.SimpleDictFetch(
|
||||
"""SELECT ue.acronyme, mat.*, mat.id AS matiere_id
|
||||
FROM notes_matieres mat, notes_ue ue
|
||||
WHERE mat.ue_id = ue.id
|
||||
AND ue.formation_id = %(formation_id)s
|
||||
AND ue.semestre_idx = %(semestre_idx)s
|
||||
ORDER BY ue.numero, mat.numero
|
||||
""",
|
||||
{"formation_id": formation_id, "semestre_idx": a_module.ue.semestre_idx},
|
||||
)
|
||||
# restreint aux matières du même semestre
|
||||
matieres = matieres.filter(UniteEns.semestre_idx == a_module.ue.semestre_idx)
|
||||
|
||||
if is_apc:
|
||||
mat_names = [
|
||||
"S%s / %s" % (mat.ue.semestre_idx, mat.ue.acronyme) for mat in matieres
|
||||
]
|
||||
else:
|
||||
# matières de la formation
|
||||
ues_matieres = ndb.SimpleDictFetch(
|
||||
"""SELECT ue.acronyme, mat.*, mat.id AS matiere_id
|
||||
FROM notes_matieres mat, notes_ue ue
|
||||
WHERE mat.ue_id = ue.id
|
||||
AND ue.formation_id = %(formation_id)s
|
||||
ORDER BY ue.numero, mat.numero
|
||||
""",
|
||||
{"formation_id": formation_id},
|
||||
)
|
||||
mat_names = ["%s / %s" % (x["acronyme"], x["titre"]) for x in ues_matieres]
|
||||
ue_mat_ids = ["%s!%s" % (x["ue_id"], x["matiere_id"]) for x in ues_matieres]
|
||||
mat_names = ["%s / %s" % (mat.ue.acronyme, mat.titre or "") for mat in matieres]
|
||||
ue_mat_ids = ["%s!%s" % (mat.ue.id, mat.id) for mat in matieres]
|
||||
|
||||
module["ue_matiere_id"] = "%s!%s" % (module["ue_id"], module["matiere_id"])
|
||||
|
||||
semestres_indices = list(range(1, parcours.NB_SEM + 1))
|
||||
@ -564,11 +554,17 @@ def module_edit(module_id=None):
|
||||
),
|
||||
(
|
||||
"heures_cours",
|
||||
{"size": 4, "type": "float", "explanation": "nombre d'heures de cours"},
|
||||
{
|
||||
"title": "Heures CM :",
|
||||
"size": 4,
|
||||
"type": "float",
|
||||
"explanation": "nombre d'heures de cours",
|
||||
},
|
||||
),
|
||||
(
|
||||
"heures_td",
|
||||
{
|
||||
"title": "Heures TD :",
|
||||
"size": 4,
|
||||
"type": "float",
|
||||
"explanation": "nombre d'heures de Travaux Dirigés",
|
||||
@ -577,6 +573,7 @@ def module_edit(module_id=None):
|
||||
(
|
||||
"heures_tp",
|
||||
{
|
||||
"title": "Heures TP :",
|
||||
"size": 4,
|
||||
"type": "float",
|
||||
"explanation": "nombre d'heures de Travaux Pratiques",
|
||||
@ -596,9 +593,9 @@ def module_edit(module_id=None):
|
||||
"ue_coefs",
|
||||
{
|
||||
"readonly": True,
|
||||
"title": "Coefficients vers les UE",
|
||||
"title": "Coefficients vers les UE ",
|
||||
"default": coefs_descr_txt,
|
||||
"explanation": "passer par la page d'édition de la formation pour modifier les coefficients",
|
||||
"explanation": " <br>(passer par la page d'édition de la formation pour modifier les coefficients)",
|
||||
},
|
||||
)
|
||||
]
|
||||
@ -624,7 +621,14 @@ def module_edit(module_id=None):
|
||||
{
|
||||
"input_type": "menu",
|
||||
"title": "Rattachement :" if is_apc else "Matière :",
|
||||
"explanation": "UE de rattachement, utilisée pour la présentation"
|
||||
"explanation": (
|
||||
"UE de rattachement"
|
||||
+ (
|
||||
" module utilisé, ne peut pas être changé de semestre"
|
||||
if in_use
|
||||
else ""
|
||||
)
|
||||
)
|
||||
if is_apc
|
||||
else "un module appartient à une seule matière.",
|
||||
"labels": mat_names,
|
||||
|
@ -22,7 +22,7 @@ from app import models
|
||||
|
||||
from app.auth.models import User, Role, UserRole
|
||||
from app.scodoc.sco_logos import make_logo_local
|
||||
from app.models import Formation, UniteEns, Module
|
||||
from app.models import Formation, UniteEns, Matiere, Module
|
||||
from app.models import FormSemestre, FormSemestreInscription
|
||||
from app.models import ModuleImpl, ModuleImplInscription
|
||||
from app.models import Identite
|
||||
@ -62,6 +62,7 @@ def make_shell_context():
|
||||
"logout_user": logout_user,
|
||||
"mapp": mapp,
|
||||
"models": models,
|
||||
"Matiere": Matiere,
|
||||
"Module": Module,
|
||||
"ModuleImpl": ModuleImpl,
|
||||
"ModuleImplInscription": ModuleImplInscription,
|
||||
|
Loading…
Reference in New Issue
Block a user