@@ -401,49 +401,50 @@ class UsersGroup(Base, BaseModel):
new_users_group = cls()
for k, v in form_data.items():
setattr(new_users_group, k, v)
Session.add(new_users_group)
Session.commit()
return new_users_group
except:
log.error(traceback.format_exc())
Session.rollback()
raise
@classmethod
def update(cls, users_group_id, form_data):
try:
users_group = cls.get(users_group_id, cache=False)
if k == 'users_group_members':
users_group.members = []
Session.flush()
members_list = []
if v:
for u_id in set(list(v)):
v = [v] if isinstance(v, basestring) else v
for u_id in set(v):
member = UsersGroupMember(users_group_id,u_id)
members_list.append(member)
setattr(users_group, 'members', members_list)
setattr(users_group, k, v)
Session.add(users_group)
def delete(cls, users_group_id):
# check if this group is not assigned to repo
assigned_groups = UsersGroupRepoToPerm.query()\
.filter(UsersGroupRepoToPerm.users_group_id ==
users_group_id).all()
if assigned_groups:
raise UsersGroupsAssignedException('Group assigned to %s' %
assigned_groups)
Status change: