From cf99d3c618036e4f54b801d8254f9307be3882ec Mon Sep 17 00:00:00 2001 From: Matthias Hartmann Date: Fri, 17 Jun 2022 20:42:45 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20Issue=20364=20:=20v=C3=A9rif=20group=5Fna?= =?UTF-8?q?me=20d=C3=A9j=C3=A0=20existant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scodoc/sco_groups.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/scodoc/sco_groups.py b/app/scodoc/sco_groups.py index 79ed91ca..4f984d0b 100644 --- a/app/scodoc/sco_groups.py +++ b/app/scodoc/sco_groups.py @@ -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(