Fix Issue 364 : vérif group_name déjà existant

This commit is contained in:
Matthias Hartmann 2022-06-17 20:42:45 +02:00
parent d3226a32f4
commit cf99d3c618
1 changed files with 11 additions and 2 deletions

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):
@ -798,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)
@ -1246,7 +1255,7 @@ def group_set_name(group_id, group_name, redirect=True):
redirect = int(redirect)
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(