diff --git a/rhodecode/controllers/admin/user_groups.py b/rhodecode/controllers/admin/user_groups.py --- a/rhodecode/controllers/admin/user_groups.py +++ b/rhodecode/controllers/admin/user_groups.py @@ -379,6 +379,10 @@ class UserGroupsController(BaseControlle (x.group for x in c.user_group.users_group_repo_group_to_perm), key=lambda u: u.group_name.lower()) + c.group_to_review_rules = sorted( + (x.users_group for x in c.user_group.user_group_review_rules), + key=lambda u: u.users_group_name.lower()) + return render('admin/user_groups/user_group_edit.mako') @HasUserGroupPermissionAnyDecorator('usergroup.admin') diff --git a/rhodecode/controllers/admin/users.py b/rhodecode/controllers/admin/users.py --- a/rhodecode/controllers/admin/users.py +++ b/rhodecode/controllers/admin/users.py @@ -385,6 +385,11 @@ class UsersController(BaseController): c.personal_repo_group = RepoGroup.get_user_personal_repo_group(user_id) c.personal_repo_group_name = RepoGroupModel()\ .get_personal_group_name(user) + + c.user_to_review_rules = sorted( + (x.user for x in c.user.user_review_rules), + key=lambda u: u.username.lower()) + c.first_admin = User.get_first_super_admin() defaults = user.get_dict() diff --git a/rhodecode/model/db.py b/rhodecode/model/db.py --- a/rhodecode/model/db.py +++ b/rhodecode/model/db.py @@ -575,6 +575,8 @@ class User(Base, BaseModel): 'ExternalIdentity', primaryjoin="User.user_id==ExternalIdentity.local_user_id", cascade='all') + # review rules + user_review_rules = relationship('RepoReviewRuleUser', cascade='all') def __unicode__(self): return u"<%s('id:%s:%s')>" % (self.__class__.__name__, @@ -1269,6 +1271,7 @@ class UserGroup(Base, BaseModel): user_user_group_to_perm = relationship('UserUserGroupToPerm', cascade='all') user_group_user_group_to_perm = relationship('UserGroupUserGroupToPerm ', primaryjoin="UserGroupUserGroupToPerm.target_user_group_id==UserGroup.users_group_id", cascade='all') + user_group_review_rules = relationship('RepoReviewRuleUserGroup', cascade='all') user = relationship('User', primaryjoin="User.user_id==UserGroup.user_id") @classmethod diff --git a/rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako b/rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako --- a/rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako +++ b/rhodecode/templates/admin/user_groups/user_group_edit_advanced.mako @@ -11,6 +11,7 @@ (_('Assigned to repositories'), len(c.group_to_repos),'', [x for x in c.group_to_repos]), (_('Assigned to repo groups'), len(c.group_to_repo_groups), '', [x for x in c.group_to_repo_groups]), + (_('Assigned to review rules'), len(c.group_to_review_rules), '', [x for x in c.group_to_review_rules]), ] %> diff --git a/rhodecode/templates/admin/users/user_edit_advanced.mako b/rhodecode/templates/admin/users/user_edit_advanced.mako --- a/rhodecode/templates/admin/users/user_edit_advanced.mako +++ b/rhodecode/templates/admin/users/user_edit_advanced.mako @@ -13,6 +13,8 @@ (_('User groups'), len(c.user.user_groups), '', [x.users_group_name for x in c.user.user_groups]), (_('Reviewer of pull requests'), len(c.user.reviewer_pull_requests), '', ['Pull Request #{}'.format(x.pull_request.pull_request_id) for x in c.user.reviewer_pull_requests]), + (_('Assigned to review rules'), len(c.user_to_review_rules), '', [x for x in c.user_to_review_rules]), + (_('Member of User groups'), len(c.user.group_member), '', [x.users_group.users_group_name for x in c.user.group_member]), (_('Force password change'), c.user.user_data.get('force_password_change', 'False'), '', ''), ]