Commit c5a48a6a9017d8e138564624a15427b8929606f3
1 parent
fa8c0c78
Exists in
master
and in
4 other branches
add users to project from admin area easily
Showing
3 changed files
with
40 additions
and
39 deletions
Show diff stats
app/controllers/admin/projects_controller.rb
| @@ -9,6 +9,12 @@ class Admin::ProjectsController < ApplicationController | @@ -9,6 +9,12 @@ class Admin::ProjectsController < ApplicationController | ||
| 9 | 9 | ||
| 10 | def show | 10 | def show |
| 11 | @admin_project = Project.find_by_code(params[:id]) | 11 | @admin_project = Project.find_by_code(params[:id]) |
| 12 | + | ||
| 13 | + @users = if @admin_project.users.empty? | ||
| 14 | + User | ||
| 15 | + else | ||
| 16 | + User.not_in_project(@admin_project) | ||
| 17 | + end.all | ||
| 12 | end | 18 | end |
| 13 | 19 | ||
| 14 | def new | 20 | def new |
| @@ -19,11 +25,6 @@ class Admin::ProjectsController < ApplicationController | @@ -19,11 +25,6 @@ class Admin::ProjectsController < ApplicationController | ||
| 19 | @admin_project = Project.find_by_code(params[:id]) | 25 | @admin_project = Project.find_by_code(params[:id]) |
| 20 | end | 26 | end |
| 21 | 27 | ||
| 22 | - def team | ||
| 23 | - @admin_project = Project.find_by_code(params[:id]) | ||
| 24 | - @users = User.not_in_project(@admin_project).all | ||
| 25 | - end | ||
| 26 | - | ||
| 27 | def team_update | 28 | def team_update |
| 28 | @admin_project = Project.find_by_code(params[:id]) | 29 | @admin_project = Project.find_by_code(params[:id]) |
| 29 | 30 |
app/views/admin/projects/show.html.haml
| @@ -38,6 +38,23 @@ | @@ -38,6 +38,23 @@ | ||
| 38 | 38 | ||
| 39 | %h2 Team | 39 | %h2 Team |
| 40 | 40 | ||
| 41 | + = form_tag team_update_admin_project_path(@admin_project), :class => "bulk_import", :method => :put do | ||
| 42 | + %table | ||
| 43 | + %thead | ||
| 44 | + %tr | ||
| 45 | + %th Users | ||
| 46 | + %th Project Access: | ||
| 47 | + %th Repo Access: | ||
| 48 | + | ||
| 49 | + %tr | ||
| 50 | + %td= select_tag :user_ids, options_from_collection_for_select(@users , :id, :name), :multiple => true | ||
| 51 | + %td= select_tag :project_access, options_for_select(Project.access_options), :class => "project-access-select" | ||
| 52 | + %td= select_tag :repo_access, options_for_select(Repository.access_options), :class => "repo-access-select" | ||
| 53 | + | ||
| 54 | + %tr | ||
| 55 | + %td{ :colspan => 3 } | ||
| 56 | + = submit_tag 'Add', :class => "positive-button" | ||
| 57 | + | ||
| 41 | %table.round-borders | 58 | %table.round-borders |
| 42 | %thead | 59 | %thead |
| 43 | %tr | 60 | %tr |
| @@ -52,9 +69,22 @@ | @@ -52,9 +69,22 @@ | ||
| 52 | %td | 69 | %td |
| 53 | = link_to tm.user_name, admin_team_member_path(tm) | 70 | = link_to tm.user_name, admin_team_member_path(tm) |
| 54 | %td= time_ago_in_words(tm.updated_at) + " ago" | 71 | %td= time_ago_in_words(tm.updated_at) + " ago" |
| 55 | - %td= select_tag :project_access, options_for_select(Project.access_options, tm.project_access), :class => "project-access-select", :disabled => :disabled | ||
| 56 | - %td= select_tag :repo_access, options_for_select(Repository.access_options, tm.repo_access), :class => "repo-access-select", :disabled => :disabled | 72 | + %td= select_tag :tm_project_access, options_for_select(Project.access_options, tm.project_access), :class => "project-access-select", :disabled => :disabled |
| 73 | + %td= select_tag :tm_repo_access, options_for_select(Repository.access_options, tm.repo_access), :class => "repo-access-select", :disabled => :disabled | ||
| 57 | %td= link_to 'Destroy', admin_team_member_path(tm), :confirm => 'Are you sure?', :method => :delete | 74 | %td= link_to 'Destroy', admin_team_member_path(tm), :confirm => 'Are you sure?', :method => :delete |
| 58 | 75 | ||
| 59 | - = link_to 'New Team Member', new_admin_team_member_path(:team_member => {:project_id => @admin_project.id}), :class => "grey-button" | ||
| 60 | - .right= link_to 'Bulk Import', team_admin_project_path(@admin_project), :class => "grey-button" | 76 | +:css |
| 77 | + form select { | ||
| 78 | + width:150px; | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + #user_ids { | ||
| 82 | + width:300px; | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + | ||
| 86 | +:javascript | ||
| 87 | + $('select#user_ids').chosen(); | ||
| 88 | + $('select#repo_access').chosen(); | ||
| 89 | + $('select#project_access').chosen(); | ||
| 90 | + |
app/views/admin/projects/team.html.haml
| @@ -1,30 +0,0 @@ | @@ -1,30 +0,0 @@ | ||
| 1 | -= form_tag team_update_admin_project_path(@admin_project), :class => "bulk_import", :method => :put do | ||
| 2 | - .span-6 | ||
| 3 | - %b Project Access: | ||
| 4 | - .span-6 | ||
| 5 | - = select_tag :project_access, options_for_select(Project.access_options), :class => "project-access-select" | ||
| 6 | - | ||
| 7 | - .span-6 | ||
| 8 | - %b Repository Access: | ||
| 9 | - .span-6 | ||
| 10 | - = select_tag :repo_access, options_for_select(Repository.access_options), :class => "repo-access-select" | ||
| 11 | - | ||
| 12 | - %br | ||
| 13 | - = select_tag :user_ids, options_from_collection_for_select(@users , :id, :name), :multiple => true | ||
| 14 | - | ||
| 15 | - %br | ||
| 16 | - .clear | ||
| 17 | - %br | ||
| 18 | - .actions | ||
| 19 | - = submit_tag 'Save', :class => "grey-button" | ||
| 20 | - | ||
| 21 | -:css | ||
| 22 | - form select { | ||
| 23 | - width:300px; | ||
| 24 | - } | ||
| 25 | - | ||
| 26 | - | ||
| 27 | -:javascript | ||
| 28 | - $('select#user_ids').chosen(); | ||
| 29 | - $('select#repo_access').chosen(); | ||
| 30 | - $('select#project_access').chosen(); |