Commit a7667ffc14017732228058e34e1f724be08bf9a0
Committed by
Dmitriy Zaporozhets
1 parent
b7470440
Exists in
master
and in
4 other branches
Repair members management of teams
Showing
3 changed files
with
33 additions
and
21 deletions
Show diff stats
app/controllers/admin/teams/members_controller.rb
1 | class Admin::Teams::MembersController < Admin::Teams::ApplicationController | 1 | class Admin::Teams::MembersController < Admin::Teams::ApplicationController |
2 | + before_filter :team_member, only: [:edit, :destroy, :update] | ||
3 | + | ||
2 | def new | 4 | def new |
3 | @users = User.active | 5 | @users = User.active |
4 | @users = @users.not_in_team(@team) if @team.members.any? | 6 | @users = @users.not_in_team(@team) if @team.members.any? |
@@ -17,11 +19,9 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController | @@ -17,11 +19,9 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController | ||
17 | end | 19 | end |
18 | 20 | ||
19 | def edit | 21 | def edit |
20 | - @member = @team.members.find(params[:id]) | ||
21 | end | 22 | end |
22 | 23 | ||
23 | def update | 24 | def update |
24 | - @member = @team.members.find(params[:id]) | ||
25 | options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]} | 25 | options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]} |
26 | if @team.update_membership(@member, options) | 26 | if @team.update_membership(@member, options) |
27 | redirect_to admin_team_path(@team), notice: 'Membership was successfully updated.' | 27 | redirect_to admin_team_path(@team), notice: 'Membership was successfully updated.' |
@@ -31,5 +31,16 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController | @@ -31,5 +31,16 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController | ||
31 | end | 31 | end |
32 | 32 | ||
33 | def destroy | 33 | def destroy |
34 | + if @team.remove_member(@member) | ||
35 | + redirect_to admin_team_path(@team), notice: "Member was successfully removed from team." | ||
36 | + else | ||
37 | + redirect_to admin_team_members(@team), notice: "Something wrong." | ||
38 | + end | ||
39 | + end | ||
40 | + | ||
41 | + private | ||
42 | + | ||
43 | + def team_member | ||
44 | + @member = @team.members.find(params[:id]) | ||
34 | end | 45 | end |
35 | end | 46 | end |
app/views/admin/teams/members/new.html.haml
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | 3 | ||
4 | %fieldset | 4 | %fieldset |
5 | %legend Members (#{@team.members.count}) | 5 | %legend Members (#{@team.members.count}) |
6 | - = form_tag add_members_admin_team_path(@team), id: "team_members", class: "bulk_import", method: :post do | 6 | + = form_tag admin_team_members_path(@team), id: "team_members", class: "bulk_import", method: :post do |
7 | %table#members_list | 7 | %table#members_list |
8 | %thead | 8 | %thead |
9 | %tr | 9 | %tr |
app/views/admin/teams/show.html.haml
@@ -68,25 +68,26 @@ | @@ -68,25 +68,26 @@ | ||
68 | 68 | ||
69 | %fieldset | 69 | %fieldset |
70 | %legend Projects (#{@team.projects.count}) | 70 | %legend Projects (#{@team.projects.count}) |
71 | - = form_tag delegate_projects_admin_team_path(@team), id: "assign_projects", class: "bulk_import", method: :post do | ||
72 | - %table#projects_list | ||
73 | - %thead | ||
74 | - %tr | ||
75 | - %th Project name | ||
76 | - %th Max access | ||
77 | - %th.cred Danger Zone! | ||
78 | - - @team.projects.each do |project| | ||
79 | - %tr.project | ||
80 | - %td | ||
81 | - = link_to project.name_with_namespace, [:admin, project] | ||
82 | - %td | ||
83 | - %span= @team.human_max_project_access(project) | ||
84 | - %td.bgred | ||
85 | - = link_to 'Relegate', relegate_project_admin_team_path(@team, project_id: project.id), confirm: 'Remove project from team and move to global namespace. Are you sure?', method: :delete, class: "btn danger small" | 71 | + %table#projects_list |
72 | + %thead | ||
86 | %tr | 73 | %tr |
87 | - %td= select_tag :project_ids, options_from_collection_for_select(@projects , :id, :name_with_namespace), multiple: true, data: {placeholder: 'Select projects'}, class: 'chosen span5' | ||
88 | - %td= select_tag :greatest_project_access, options_for_select(Project.access_options), {class: "project-access-select chosen span3" } | ||
89 | - %td= submit_tag 'Add', class: "btn primary", id: :assign_projects_to_team | 74 | + %th Project name |
75 | + %th Max access | ||
76 | + %th.cred Danger Zone! | ||
77 | + - @team.projects.each do |project| | ||
78 | + %tr.project | ||
79 | + %td | ||
80 | + = link_to project.name_with_namespace, [:admin, project] | ||
81 | + %td | ||
82 | + %span= @team.human_max_project_access(project) | ||
83 | + %td.bgred | ||
84 | + = link_to 'Edit', edit_admin_team_project_path(@team, project), class: "btn small" | ||
85 | + | ||
86 | + = link_to 'Relegate', admin_team_project_path(@team, project), confirm: 'Remove project from team. Are you sure?', method: :delete, class: "btn danger small" | ||
87 | + %tr | ||
88 | + %td | ||
89 | + %td | ||
90 | + %td= link_to 'Add projects', new_admin_team_project_path(@team), class: "btn primary", id: :assign_projects_to_team | ||
90 | 91 | ||
91 | :javascript | 92 | :javascript |
92 | $(function(){ | 93 | $(function(){ |