Commit a7667ffc14017732228058e34e1f724be08bf9a0

Authored by Andrey Kumanyaev
Committed by Dmitriy Zaporozhets
1 parent b7470440

Repair members management of teams

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 &lt; 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 &lt; 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 + &nbsp;
  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(){
... ...