forked from ScoDoc/ScoDoc
Merge pull request 'de 1 à 4 (co-)directeur d'études' (#484) from jmplace/ScoDoc-Lille:plusieurs_DE into master
Reviewed-on: https://scodoc.org/git/ScoDoc/ScoDoc/pulls/484
This commit is contained in:
commit
eab7894f4f
@ -142,6 +142,14 @@ def can_edit_sem(formsemestre_id="", sem=None):
|
|||||||
return sem
|
return sem
|
||||||
|
|
||||||
|
|
||||||
|
resp_fields = [
|
||||||
|
"responsable_id",
|
||||||
|
"responsable_id2",
|
||||||
|
"responsable_id3",
|
||||||
|
"responsable_id4",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def do_formsemestre_createwithmodules(edit=False):
|
def do_formsemestre_createwithmodules(edit=False):
|
||||||
"Form choix modules / responsables et creation formsemestre"
|
"Form choix modules / responsables et creation formsemestre"
|
||||||
# Fonction accessible à tous, controle acces à la main:
|
# Fonction accessible à tous, controle acces à la main:
|
||||||
@ -192,14 +200,8 @@ def do_formsemestre_createwithmodules(edit=False):
|
|||||||
modimpl.responsable_id,
|
modimpl.responsable_id,
|
||||||
f"inconnu numéro {modimpl.responsable_id} resp. de {modimpl.id} !",
|
f"inconnu numéro {modimpl.responsable_id} resp. de {modimpl.id} !",
|
||||||
)
|
)
|
||||||
if sem["responsables"]:
|
for index, resp in enumerate(sem["responsables"]):
|
||||||
initvalues["responsable_id"] = uid2display.get(
|
initvalues[resp_fields[index]] = uid2display.get(resp)
|
||||||
sem["responsables"][0], sem["responsables"][0]
|
|
||||||
)
|
|
||||||
if len(sem["responsables"]) > 1:
|
|
||||||
initvalues["responsable_id2"] = uid2display.get(
|
|
||||||
sem["responsables"][1], sem["responsables"][1]
|
|
||||||
)
|
|
||||||
|
|
||||||
# Liste des ID de semestres
|
# Liste des ID de semestres
|
||||||
if formation.type_parcours is not None:
|
if formation.type_parcours is not None:
|
||||||
@ -274,15 +276,16 @@ def do_formsemestre_createwithmodules(edit=False):
|
|||||||
"allow_null": False,
|
"allow_null": False,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
*[
|
||||||
(
|
(
|
||||||
"responsable_id",
|
field,
|
||||||
{
|
{
|
||||||
"input_type": "text_suggest",
|
"input_type": "text_suggest",
|
||||||
"size": 50,
|
"size": 50,
|
||||||
"title": "Directeur des études",
|
"title": "(Co-)Directeur(s) des études",
|
||||||
"explanation": "taper le début du nom et choisir dans le menu",
|
"explanation": "taper le début du nom et choisir dans le menu",
|
||||||
"allowed_values": allowed_user_names,
|
"allowed_values": allowed_user_names,
|
||||||
"allow_null": False, # il faut au moins un responsable de semestre
|
"allow_null": index, # > 0, # il faut au moins un responsable de semestre
|
||||||
"text_suggest_options": {
|
"text_suggest_options": {
|
||||||
"script": url_for(
|
"script": url_for(
|
||||||
"users.get_user_list_xml", scodoc_dept=g.scodoc_dept
|
"users.get_user_list_xml", scodoc_dept=g.scodoc_dept
|
||||||
@ -294,28 +297,9 @@ def do_formsemestre_createwithmodules(edit=False):
|
|||||||
"timeout": 60000,
|
"timeout": 60000,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
),
|
|
||||||
(
|
|
||||||
"responsable_id2",
|
|
||||||
{
|
|
||||||
"input_type": "text_suggest",
|
|
||||||
"size": 50,
|
|
||||||
"title": "Co-directeur des études",
|
|
||||||
"explanation": "",
|
|
||||||
"allowed_values": allowed_user_names,
|
|
||||||
"allow_null": True, # optionnel
|
|
||||||
"text_suggest_options": {
|
|
||||||
"script": url_for(
|
|
||||||
"users.get_user_list_xml", scodoc_dept=g.scodoc_dept
|
|
||||||
)
|
)
|
||||||
+ "?",
|
for index, field in enumerate(resp_fields)
|
||||||
"varname": "start",
|
],
|
||||||
"json": False,
|
|
||||||
"noresults": "Valeur invalide !",
|
|
||||||
"timeout": 60000,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
),
|
|
||||||
(
|
(
|
||||||
"titre",
|
"titre",
|
||||||
{
|
{
|
||||||
@ -781,16 +765,12 @@ def do_formsemestre_createwithmodules(edit=False):
|
|||||||
else:
|
else:
|
||||||
tf[2]["bul_hide_xml"] = True
|
tf[2]["bul_hide_xml"] = True
|
||||||
# remap les identifiants de responsables:
|
# remap les identifiants de responsables:
|
||||||
tf[2]["responsable_id"] = User.get_user_id_from_nomplogin(
|
for field in resp_fields:
|
||||||
tf[2]["responsable_id"]
|
tf[2][field] = User.get_user_id_from_nomplogin(tf[2][field])
|
||||||
)
|
tf[2]["responsables"] = []
|
||||||
tf[2]["responsable_id2"] = User.get_user_id_from_nomplogin(
|
for field in resp_fields:
|
||||||
tf[2]["responsable_id2"]
|
if tf[2][field]:
|
||||||
)
|
tf[2]["responsables"].append(tf[2][field])
|
||||||
tf[2]["responsables"] = [tf[2]["responsable_id"]]
|
|
||||||
if tf[2]["responsable_id2"]:
|
|
||||||
tf[2]["responsables"].append(tf[2]["responsable_id2"])
|
|
||||||
|
|
||||||
for module_id in tf[2]["tf-checked"]:
|
for module_id in tf[2]["tf-checked"]:
|
||||||
mod_resp_id = User.get_user_id_from_nomplogin(tf[2][module_id])
|
mod_resp_id = User.get_user_id_from_nomplogin(tf[2][module_id])
|
||||||
if mod_resp_id is None:
|
if mod_resp_id is None:
|
||||||
|
Loading…
Reference in New Issue
Block a user