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 | 19 | |
| 20 | 20 | modal = $('.change-owner-holder') |
| 21 | 21 | |
| 22 | - $('.change-owner-link').bind "click", -> | |
| 22 | + $('.change-owner-link').bind "click", (e) -> | |
| 23 | + e.preventDefault() | |
| 23 | 24 | $(this).hide() |
| 24 | 25 | modal.show() |
| 25 | 26 | |
| 26 | - $('.change-owner-cancel-link').bind "click", -> | |
| 27 | + $('.change-owner-cancel-link').bind "click", (e) -> | |
| 28 | + e.preventDefault() | |
| 27 | 29 | modal.hide() |
| 28 | 30 | $('.change-owner-link').show() |
| 29 | 31 | ... | ... |
app/assets/javascripts/users_select.js.coffee
| ... | ... | @@ -14,23 +14,24 @@ $ -> |
| 14 | 14 | userFormatSelection = (user) -> |
| 15 | 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 | 12 | @projects = @projects.not_in_group(@group) if @group.projects.present? |
| 13 | 13 | @projects = @projects.all |
| 14 | 14 | @projects.reject!(&:empty_repo?) |
| 15 | - | |
| 16 | - @users = User.active | |
| 17 | 15 | end |
| 18 | 16 | |
| 19 | 17 | def new |
| ... | ... | @@ -68,7 +66,8 @@ class Admin::GroupsController < Admin::ApplicationController |
| 68 | 66 | end |
| 69 | 67 | |
| 70 | 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 | 71 | redirect_to [:admin, @group], notice: 'Users were successfully added.' |
| 73 | 72 | end |
| 74 | 73 | ... | ... |
app/controllers/admin/projects_controller.rb
| ... | ... | @@ -14,9 +14,6 @@ class Admin::ProjectsController < Admin::ApplicationController |
| 14 | 14 | |
| 15 | 15 | def show |
| 16 | 16 | @repository = @project.repository |
| 17 | - @users = User.active | |
| 18 | - @users = @users.not_in_project(@project) if @project.users.present? | |
| 19 | - @users = @users.all | |
| 20 | 17 | end |
| 21 | 18 | |
| 22 | 19 | protected | ... | ... |
app/views/admin/groups/show.html.haml
| 1 | 1 | %h3.page_title |
| 2 | 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 | 58 | Read more about project permissions |
| 100 | 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 | 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" | ... | ... |