Commit c5f56ee8a06e305265d78cdb847f3dc87bd7e6f2
1 parent
251945e2
Exists in
master
and in
4 other branches
Restyle admin:group:show. Remove .all calls fro users, projects here
Showing
5 changed files
with
92 additions
and
132 deletions
Show diff stats
app/assets/javascripts/admin.js.coffee
@@ -19,11 +19,13 @@ class Admin | @@ -19,11 +19,13 @@ class Admin | ||
19 | 19 | ||
20 | modal = $('.change-owner-holder') | 20 | modal = $('.change-owner-holder') |
21 | 21 | ||
22 | - $('.change-owner-link').bind "click", -> | 22 | + $('.change-owner-link').bind "click", (e) -> |
23 | + e.preventDefault() | ||
23 | $(this).hide() | 24 | $(this).hide() |
24 | modal.show() | 25 | modal.show() |
25 | 26 | ||
26 | - $('.change-owner-cancel-link').bind "click", -> | 27 | + $('.change-owner-cancel-link').bind "click", (e) -> |
28 | + e.preventDefault() | ||
27 | modal.hide() | 29 | modal.hide() |
28 | $('.change-owner-link').show() | 30 | $('.change-owner-link').show() |
29 | 31 |
app/assets/javascripts/users_select.js.coffee
@@ -14,23 +14,24 @@ $ -> | @@ -14,23 +14,24 @@ $ -> | ||
14 | userFormatSelection = (user) -> | 14 | userFormatSelection = (user) -> |
15 | user.name | 15 | user.name |
16 | 16 | ||
17 | - $('.ajax-users-select').select2 | ||
18 | - placeholder: "Search for a user" | ||
19 | - multiple: $('.ajax-users-select').hasClass('multiselect') | ||
20 | - minimumInputLength: 0 | ||
21 | - query: (query) -> | ||
22 | - Api.users query.term, (users) -> | ||
23 | - data = { results: users } | ||
24 | - query.callback(data) | 17 | + $('.ajax-users-select').each (i, select) -> |
18 | + $(select).select2 | ||
19 | + placeholder: "Search for a user" | ||
20 | + multiple: $(select).hasClass('multiselect') | ||
21 | + minimumInputLength: 0 | ||
22 | + query: (query) -> | ||
23 | + Api.users query.term, (users) -> | ||
24 | + data = { results: users } | ||
25 | + query.callback(data) | ||
25 | 26 | ||
26 | - initSelection: (element, callback) -> | ||
27 | - id = $(element).val() | ||
28 | - if id isnt "" | ||
29 | - Api.user(id, callback) | 27 | + initSelection: (element, callback) -> |
28 | + id = $(element).val() | ||
29 | + if id isnt "" | ||
30 | + Api.user(id, callback) | ||
30 | 31 | ||
31 | 32 | ||
32 | - formatResult: userFormatResult | ||
33 | - formatSelection: userFormatSelection | ||
34 | - dropdownCssClass: "ajax-users-dropdown" | ||
35 | - escapeMarkup: (m) -> # we do not want to escape markup since we are displaying html in results | ||
36 | - m | 33 | + formatResult: userFormatResult |
34 | + formatSelection: userFormatSelection | ||
35 | + dropdownCssClass: "ajax-users-dropdown" | ||
36 | + escapeMarkup: (m) -> # we do not want to escape markup since we are displaying html in results | ||
37 | + m |
app/controllers/admin/groups_controller.rb
@@ -12,8 +12,6 @@ class Admin::GroupsController < Admin::ApplicationController | @@ -12,8 +12,6 @@ class Admin::GroupsController < Admin::ApplicationController | ||
12 | @projects = @projects.not_in_group(@group) if @group.projects.present? | 12 | @projects = @projects.not_in_group(@group) if @group.projects.present? |
13 | @projects = @projects.all | 13 | @projects = @projects.all |
14 | @projects.reject!(&:empty_repo?) | 14 | @projects.reject!(&:empty_repo?) |
15 | - | ||
16 | - @users = User.active | ||
17 | end | 15 | end |
18 | 16 | ||
19 | def new | 17 | def new |
@@ -68,7 +66,8 @@ class Admin::GroupsController < Admin::ApplicationController | @@ -68,7 +66,8 @@ class Admin::GroupsController < Admin::ApplicationController | ||
68 | end | 66 | end |
69 | 67 | ||
70 | def project_teams_update | 68 | def project_teams_update |
71 | - @group.add_users_to_project_teams(params[:user_ids], params[:project_access]) | 69 | + @group.add_users_to_project_teams(params[:user_ids].split(','), params[:project_access]) |
70 | + | ||
72 | redirect_to [:admin, @group], notice: 'Users were successfully added.' | 71 | redirect_to [:admin, @group], notice: 'Users were successfully added.' |
73 | end | 72 | end |
74 | 73 |
app/controllers/admin/projects_controller.rb
@@ -14,9 +14,6 @@ class Admin::ProjectsController < Admin::ApplicationController | @@ -14,9 +14,6 @@ class Admin::ProjectsController < Admin::ApplicationController | ||
14 | 14 | ||
15 | def show | 15 | def show |
16 | @repository = @project.repository | 16 | @repository = @project.repository |
17 | - @users = User.active | ||
18 | - @users = @users.not_in_project(@project) if @project.users.present? | ||
19 | - @users = @users.all | ||
20 | end | 17 | end |
21 | 18 | ||
22 | protected | 19 | protected |
app/views/admin/groups/show.html.haml
1 | %h3.page_title | 1 | %h3.page_title |
2 | Group: #{@group.name} | 2 | Group: #{@group.name} |
3 | 3 | ||
4 | -%br | ||
5 | -%table.zebra-striped | ||
6 | - %thead | ||
7 | - %tr | ||
8 | - %th Group | ||
9 | - %th | ||
10 | - %tr | ||
11 | - %td | ||
12 | - %b | ||
13 | - Name: | ||
14 | - %td | ||
15 | - = @group.name | ||
16 | - | ||
17 | - = link_to edit_admin_group_path(@group), class: "btn btn-small pull-right" do | ||
18 | - %i.icon-edit | ||
19 | - Edit | ||
20 | - %tr | ||
21 | - %td | ||
22 | - %b | ||
23 | - Description: | ||
24 | - %td | ||
25 | - = @group.description | ||
26 | - %tr | ||
27 | - %td | ||
28 | - %b | ||
29 | - Path: | ||
30 | - %td | ||
31 | - %span.monospace= File.join(Gitlab.config.gitlab_shell.repos_path, @group.path) | ||
32 | - %tr | ||
33 | - %td | ||
34 | - %b | ||
35 | - Owner: | ||
36 | - %td | ||
37 | - = @group.owner_name | ||
38 | - .pull-right | ||
39 | - = link_to "#", class: "btn btn-small change-owner-link" do | ||
40 | - %i.icon-edit | ||
41 | - Change owner | 4 | + = link_to edit_admin_group_path(@group), class: "btn btn-small pull-right" do |
5 | + %i.icon-edit | ||
6 | + Edit | ||
7 | +%hr | ||
8 | +.row | ||
9 | + .span6 | ||
10 | + .ui-box | ||
11 | + %h5.title | ||
12 | + Group info: | ||
13 | + %ul.well-list | ||
14 | + %li | ||
15 | + %span.light Name: | ||
16 | + %strong= @group.name | ||
17 | + %li | ||
18 | + %span.light Path: | ||
19 | + %strong | ||
20 | + = @group.path | ||
42 | 21 | ||
43 | - %tr.change-owner-holder.hide | ||
44 | - %td.bgred | ||
45 | - %b.cred | ||
46 | - New Owner: | ||
47 | - %td.bgred | ||
48 | - = form_for [:admin, @group] do |f| | ||
49 | - = f.select :owner_id, User.all.map { |user| [user.name, user.id] }, {}, {class: 'chosen'} | ||
50 | - %div | ||
51 | - = f.submit 'Change Owner', class: "btn btn-remove" | ||
52 | - = link_to "Cancel", "#", class: "btn change-owner-cancel-link" | 22 | + %li |
23 | + %span.light Description: | ||
24 | + %strong | ||
25 | + = @group.description | ||
53 | 26 | ||
54 | -- if @group.projects.any? | ||
55 | - %fieldset | ||
56 | - %legend Projects (#{@group.projects.count}) | ||
57 | - %table | ||
58 | - %thead | ||
59 | - %tr | ||
60 | - %th Project name | ||
61 | - %th Path | ||
62 | - %th Users | ||
63 | - %th.cred Danger Zone! | ||
64 | - - @group.projects.each do |project| | ||
65 | - %tr | ||
66 | - %td | ||
67 | - = link_to project.name_with_namespace, [:admin, project] | ||
68 | - %td | ||
69 | - %span.monospace= project.path_with_namespace + ".git" | ||
70 | - %td= project.users.count | ||
71 | - %td.bgred | ||
72 | - = link_to 'Transfer project to global namespace', remove_project_admin_group_path(@group, project_id: project.id), confirm: 'Remove project from group and move to global namespace. Are you sure?', method: :delete, class: "btn btn-remove small" | 27 | + %li |
28 | + %span.light Owned by: | ||
29 | + %strong | ||
30 | + - if @group.owner | ||
31 | + = link_to @group.owner_name, admin_user_path(@group.owner) | ||
32 | + - else | ||
33 | + (deleted) | ||
34 | + .pull-right | ||
35 | + = link_to "#", class: "btn btn-small change-owner-link" do | ||
36 | + %i.icon-edit | ||
37 | + Change owner | ||
38 | + %li.change-owner-holder.hide.bgred | ||
39 | + .form-holder | ||
40 | + %strong.cred New Owner: | ||
41 | + = form_for [:admin, @group] do |f| | ||
42 | + = users_select_tag(:"group[owner_id]") | ||
43 | + .prepend-top-10 | ||
44 | + = f.submit 'Change Owner', class: "btn btn-remove" | ||
45 | + = link_to "Cancel", "#", class: "btn change-owner-cancel-link" | ||
73 | 46 | ||
74 | - = form_tag project_teams_update_admin_group_path(@group), id: "new_team_member", class: "bulk_import", method: :put do | ||
75 | - %table.zebra-striped | ||
76 | - %thead | ||
77 | - %tr | ||
78 | - %th Users | ||
79 | - %th Project Access: | 47 | + %li |
48 | + %span.light Created at: | ||
49 | + %strong | ||
50 | + = @group.created_at.stamp("March 1, 1999") | ||
80 | 51 | ||
81 | - - @group.users.each do |user| | ||
82 | - - next unless user | ||
83 | - %tr{class: "user_#{user.id}"} | ||
84 | - %td.name= link_to user.name, admin_user_path(user) | ||
85 | - %td.projects_access | ||
86 | - - user.authorized_projects.in_namespace(@group).each do |project| | ||
87 | - - u_p = user.users_projects.in_project(project).first | ||
88 | - - next unless u_p | ||
89 | - %span | ||
90 | - = project.name_with_namespace | ||
91 | - = link_to "(#{ u_p.project_access_human })", edit_admin_project_member_path(project, user) | ||
92 | - %tr | ||
93 | - %td.input= select_tag :user_ids, options_from_collection_for_select(@users , :id, :name), multiple: true, data: {placeholder: 'Select users'}, class: 'chosen span5' | ||
94 | - %td= select_tag :project_access, options_for_select(Project.access_options), {class: "project-access-select chosen span3"} | ||
95 | 52 | ||
96 | - %tr | ||
97 | - %td= submit_tag 'Add user to projects in group', class: "btn btn-create" | ||
98 | - %td | 53 | + .ui-box |
54 | + %h5.title | ||
55 | + Add user to Group projects: | ||
56 | + .ui-box-body.form-holder | ||
57 | + %p.light | ||
99 | Read more about project permissions | 58 | Read more about project permissions |
100 | %strong= link_to "here", help_permissions_path, class: "vlink" | 59 | %strong= link_to "here", help_permissions_path, class: "vlink" |
101 | 60 | ||
102 | -- else | ||
103 | - %fieldset | ||
104 | - %legend Group is empty | 61 | + = form_tag project_teams_update_admin_group_path(@group), id: "new_team_member", class: "bulk_import", method: :put do |
62 | + %div | ||
63 | + = users_select_tag(:user_ids, multiple: true) | ||
64 | + %div.prepend-top-10 | ||
65 | + = select_tag :project_access, options_for_select(Project.access_options), {class: "project-access-select chosen span2"} | ||
66 | + %hr | ||
67 | + = submit_tag 'Add user to projects in group', class: "btn btn-create" | ||
105 | 68 | ||
106 | -= form_tag project_update_admin_group_path(@group), class: "bulk_import", method: :put do | ||
107 | - %fieldset | ||
108 | - %legend Move projects to group | ||
109 | - .alert | ||
110 | - You can move only projects with existing repos | ||
111 | - %br | ||
112 | - Group projects will be moved in group directory and will not be accessible by old path | ||
113 | - .clearfix | ||
114 | - = label_tag :project_ids do | 69 | + .span6 |
70 | + .ui-box | ||
71 | + %h5.title | ||
115 | Projects | 72 | Projects |
116 | - .input | ||
117 | - = select_tag :project_ids, options_from_collection_for_select(@projects , :id, :name_with_namespace), multiple: true, data: {placeholder: 'Select projects'}, class: 'chosen span5' | ||
118 | - .form-actions | ||
119 | - = submit_tag 'Move projects', class: "btn btn-create" | ||
120 | - | 73 | + %small |
74 | + (#{@group.projects.count}) | ||
75 | + %ul.well-list | ||
76 | + - @group.projects.each do |project| | ||
77 | + %li | ||
78 | + %strong | ||
79 | + = link_to project.name_with_namespace, [:admin, project] | ||
80 | + %span.pull-right.light | ||
81 | + %span.monospace= project.path_with_namespace + ".git" |