From f9e889215021f7a99a4ccfe4612431caa963f63c Mon Sep 17 00:00:00 2001 From: guerler Date: Tue, 15 Aug 2017 16:26:25 -0400 Subject: [PATCH] Catch user input error for auto created roles and groups --- lib/galaxy/webapps/galaxy/controllers/admin.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/galaxy/webapps/galaxy/controllers/admin.py b/lib/galaxy/webapps/galaxy/controllers/admin.py index f2f1acda0389..23e93acada52 100644 --- a/lib/galaxy/webapps/galaxy/controllers/admin.py +++ b/lib/galaxy/webapps/galaxy/controllers/admin.py @@ -1000,6 +1000,9 @@ def create_role( self, trans, payload=None, **kwd ): gra = trans.app.model.GroupRoleAssociation( group, role ) trans.sa_session.add( gra ) if auto_create_checked: + # Check if role with same name already exists + if trans.sa_session.query( trans.app.model.Group ).filter( trans.app.model.Group.table.c.name == name ).first(): + return message_exception( trans, 'A group with that name already exists, so choose another name or disable group creation.' ) # Create the group group = trans.app.model.Group( name=name ) trans.sa_session.add( group ) @@ -1305,6 +1308,9 @@ def create_group( self, trans, payload=None, **kwd ): gra = trans.app.model.GroupRoleAssociation( group, role ) trans.sa_session.add( gra ) if auto_create_checked: + # Check if role with same name already exists + if trans.sa_session.query( trans.app.model.Role ).filter( trans.app.model.Role.table.c.name == name ).first(): + return message_exception( trans, 'A role with that name already exists, so choose another name or disable role creation.' ) # Create the role role = trans.app.model.Role( name=name, description='Role for group %s' % name ) trans.sa_session.add( role )