Update authorized/owned resources with new group permissions
This commit is contained in:
parent
5bed576ac2
commit
7d57b96ee0
2 changed files with 12 additions and 5 deletions
|
@ -71,7 +71,9 @@ class User < ActiveRecord::Base
|
||||||
has_many :keys, dependent: :destroy
|
has_many :keys, dependent: :destroy
|
||||||
|
|
||||||
# Groups
|
# Groups
|
||||||
has_many :groups, class_name: "Group", foreign_key: :owner_id
|
has_many :own_groups, class_name: "Group", foreign_key: :owner_id
|
||||||
|
has_many :users_groups, dependent: :destroy
|
||||||
|
has_many :groups, through: :users_groups
|
||||||
|
|
||||||
# Teams
|
# Teams
|
||||||
has_many :own_teams, dependent: :destroy, class_name: "UserTeam", foreign_key: :owner_id
|
has_many :own_teams, dependent: :destroy, class_name: "UserTeam", foreign_key: :owner_id
|
||||||
|
@ -230,7 +232,7 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
# Groups where user is an owner
|
# Groups where user is an owner
|
||||||
def owned_groups
|
def owned_groups
|
||||||
groups
|
own_groups
|
||||||
end
|
end
|
||||||
|
|
||||||
def owned_teams
|
def owned_teams
|
||||||
|
@ -239,14 +241,14 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
# Groups user has access to
|
# Groups user has access to
|
||||||
def authorized_groups
|
def authorized_groups
|
||||||
@group_ids ||= (groups.pluck(:id) + authorized_projects.pluck(:namespace_id))
|
@group_ids ||= (groups.pluck(:id) + own_groups.pluck(:id) + authorized_projects.pluck(:namespace_id))
|
||||||
Group.where(id: @group_ids)
|
Group.where(id: @group_ids)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# Projects user has access to
|
# Projects user has access to
|
||||||
def authorized_projects
|
def authorized_projects
|
||||||
@project_ids ||= (owned_projects.pluck(:id) + projects.pluck(:id)).uniq
|
@project_ids ||= (owned_projects.pluck(:id) + groups.map(&:projects).flatten.map(&:id) + projects.pluck(:id)).uniq
|
||||||
Project.where(id: @project_ids)
|
Project.where(id: @project_ids)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
- can_manage_group = current_user.can? :manage_group, @group
|
- can_manage_group = current_user.can? :manage_group, @group
|
||||||
.row
|
.row
|
||||||
.span6
|
.span6
|
||||||
= render "new_group_member"
|
- if can_manage_group
|
||||||
|
= render "new_group_member"
|
||||||
|
- else
|
||||||
|
.light-well
|
||||||
|
%h4.nothing_here_message
|
||||||
|
Only group owners can manage group members
|
||||||
.span6
|
.span6
|
||||||
.ui-box
|
.ui-box
|
||||||
%h5.title
|
%h5.title
|
||||||
|
|
Loading…
Reference in a new issue