Skip to content

Commit

Permalink
Improve admin user show page
Browse files Browse the repository at this point in the history
Show permissions for all project.
Add ability to remove user from group if not an owner
Remove unnecessary admin controller
  • Loading branch information
dzaporozhets committed Aug 27, 2013
1 parent 24e26d8 commit 643a6e5
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 20 deletions.
8 changes: 7 additions & 1 deletion app/assets/javascripts/admin.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,16 @@ class Admin
e.preventDefault()
$(this).hide()
modal.show()

$('.change-owner-cancel-link').bind "click", (e) ->
e.preventDefault()
modal.hide()
$('.change-owner-link').show()

$('li.users_project').bind 'ajax:success', ->
Turbolinks.visit(location.href)

$('li.users_group').bind 'ajax:success', ->
Turbolinks.visit(location.href)

@Admin = Admin
9 changes: 0 additions & 9 deletions app/controllers/admin/members_controller.rb

This file was deleted.

10 changes: 9 additions & 1 deletion app/models/project_team.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,15 @@ def find(user_id)
end

def find_tm(user_id)
project.users_projects.find_by_user_id(user_id)
tm = project.users_projects.find_by_user_id(user_id)

# If user is not in project members
# we should check for group membership
if group && !tm
tm = group.users_groups.find_by_user_id(user_id)
end

tm
end

def add_user(user, access)
Expand Down
13 changes: 9 additions & 4 deletions app/views/admin/users/show.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -95,17 +95,20 @@
%ul.well-list
- @user.users_groups.each do |user_group|
- group = user_group.group
%li
%li.users_group
%strong= link_to group.name, admin_group_path(group)
.pull-right
%span.light= user_group.human_access
- unless user_group.owner?
= link_to group_users_group_path(group, user_group), confirm: remove_user_from_group_message(group, @user), method: :delete, remote: true, class: "btn-tiny btn btn-remove", title: 'Remove user from group' do
%i.icon-remove.icon-white

.ui-box
.title Projects (#{@projects.count})
%ul.well-list
- @projects.sort_by(&:name_with_namespace).each do |project|
- tm = project.team.find_tm(@user.id)
%li
%li.users_project
= link_to admin_project_path(project), class: dom_class(project) do
- if project.namespace
= project.namespace.human_name
Expand All @@ -119,7 +122,9 @@
%span.light Owner
- else
%span.light= tm.human_access
= link_to admin_project_member_path(project, tm.user), confirm: remove_from_project_team_message(project, @user), method: :delete, class: "btn btn-small btn-remove" do
%i.icon-remove

- if tm.respond_to? :project
= link_to project_team_member_path(project, @user), confirm: remove_from_project_team_message(project, @user), remote: true, method: :delete, class: "btn-tiny btn btn-remove", title: 'Remove user from project' do
%i.icon-remove


6 changes: 1 addition & 5 deletions config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,7 @@

resource :logs, only: [:show]
resource :background_jobs, controller: 'background_jobs', only: [:show]

resources :projects, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ }, only: [:index, :show] do
resources :members, only: [:destroy]
end

resources :projects, constraints: { id: /[a-zA-Z.\/0-9_\-]+/ }, only: [:index, :show]
root to: "dashboard#index"
end

Expand Down
4 changes: 4 additions & 0 deletions lib/gitlab/access.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,9 @@ def sym_options
def human_access
Gitlab::Access.options_with_owner.key(access_field)
end

def owner?
access_field == OWNER
end
end
end

0 comments on commit 643a6e5

Please sign in to comment.