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 | 1 | class Admin::Teams::MembersController < Admin::Teams::ApplicationController |
2 | + before_filter :team_member, only: [:edit, :destroy, :update] | |
3 | + | |
2 | 4 | def new |
3 | 5 | @users = User.active |
4 | 6 | @users = @users.not_in_team(@team) if @team.members.any? |
... | ... | @@ -17,11 +19,9 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController |
17 | 19 | end |
18 | 20 | |
19 | 21 | def edit |
20 | - @member = @team.members.find(params[:id]) | |
21 | 22 | end |
22 | 23 | |
23 | 24 | def update |
24 | - @member = @team.members.find(params[:id]) | |
25 | 25 | options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]} |
26 | 26 | if @team.update_membership(@member, options) |
27 | 27 | redirect_to admin_team_path(@team), notice: 'Membership was successfully updated.' |
... | ... | @@ -31,5 +31,16 @@ class Admin::Teams::MembersController < Admin::Teams::ApplicationController |
31 | 31 | end |
32 | 32 | |
33 | 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 | 45 | end |
35 | 46 | end | ... | ... |
app/views/admin/teams/members/new.html.haml
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | |
4 | 4 | %fieldset |
5 | 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 | 7 | %table#members_list |
8 | 8 | %thead |
9 | 9 | %tr | ... | ... |
app/views/admin/teams/show.html.haml
... | ... | @@ -68,25 +68,26 @@ |
68 | 68 | |
69 | 69 | %fieldset |
70 | 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 | 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 | 92 | :javascript |
92 | 93 | $(function(){ | ... | ... |