Compare commits

...

2 Commits

Author SHA1 Message Date
Matthias Hartmann
cf99d3c618 Fix Issue 364 : vérif group_name déjà existant 2022-06-17 20:42:45 +02:00
Matthias Hartmann
d3226a32f4 Revert "Fix Issue 364 : vérif group_name déjà existant"
This reverts commit 1a4461cfb0.
2022-06-17 20:36:02 +02:00

View File

@ -263,6 +263,15 @@ def get_group_members(group_id, etat=None):
return r
def check_group_name(group_name, partition, raiser=False):
"""If groupe name exists in partition : if raiser -> Raise ScoValueError else-> return true"""
exists = group_name in [g["group_name"] for g in get_partition_groups(partition)]
if exists:
if raiser:
raise ScoValueError("Le nom de groupe existe déjà dans la partition")
else :
return True
return False;
# obsolete: sco_groups_view.DisplayedGroupsInfos
# def get_groups_members(group_ids, etat=None):
@ -599,11 +608,6 @@ def XMLgetGroupsInPartition(partition_id): # was XMLgetGroupesTD
response.headers["Content-Type"] = scu.XML_MIMETYPE
return response
def check_group_name(group_name, partition):
"""Raise ScoValueError if group_name exists in partition"""
exists = group_name in [g["group_name"] for g in get_partition_groups(partition)]
if exists:
raise ScoValueError("Le nom de groupe existe déjà dans la partition")
def comp_origin(etud, cur_sem):
"""breve description de l'origine de l'étudiant (sem. precedent)
@ -803,7 +807,7 @@ def create_group(partition_id, group_name="", default=False) -> int:
if not group_name and not default:
raise ValueError("invalid group name: ()")
# checkGroupName(group_name)
if group_name in [g["group_name"] for g in get_partition_groups(partition)]:
if check_group_name(group_name, partition):
raise ValueError(
"group_name %s already exists in partition" % group_name
) # XXX FIX: incorrect error handling (in AJAX)
@ -1249,10 +1253,9 @@ def group_set_name(group_id, group_name, redirect=True):
if not sco_permissions_check.can_change_groups(formsemestre_id):
raise AccessDenied("Vous n'avez pas le droit d'effectuer cette opération !")
redirect = int(redirect)
check_group_name(group_name, get_partition(group['partition_id']))
cnx = ndb.GetDBConnexion()
groupEditor.edit(cnx, {"group_id": group_id, "group_name": group_name})
check_group_name(group_name, get_partition(group["partition_id"]), True)
# redirect to partition edit page:
if redirect:
return flask.redirect(
@ -1378,13 +1381,13 @@ def groups_auto_repartition(partition_id=None):
# Crée les nouveaux groupes
group_ids = []
for group_name in group_names:
try:
check_group_name(group_name, partition)
except:
H.append('<p class="warning">Nom de groupe invalide: %s</p>'%group_name)
return '\n'.join(H) + tf[1] + html_sco_header.sco_footer()
# try:
# checkGroupName(group_name)
# except:
# H.append('<p class="warning">Nom de groupe invalide: %s</p>'%group_name)
# return '\n'.join(H) + tf[1] + html_sco_header.sco_footer()
group_ids.append(create_group(partition_id, group_name))
#
nt: NotesTableCompat = res_sem.load_formsemestre_results(formsemestre)
identdict = nt.identdict
# build: { civilite : liste etudids trie par niveau croissant }