Commit 97de6f851b54e87f5a01f9bbc16ce64464c88579

Authored by Dmitriy Zaporozhets
1 parent 1481d1cf

Fix not-working team memebership permissions change

app/assets/javascripts/main.js.coffee
@@ -49,6 +49,10 @@ $ -> @@ -49,6 +49,10 @@ $ ->
49 # Bottom tooltip 49 # Bottom tooltip
50 $('.has_bottom_tooltip').tooltip(placement: 'bottom') 50 $('.has_bottom_tooltip').tooltip(placement: 'bottom')
51 51
  52 + # Form submitter
  53 + $('.trigger-submit').on 'change', ->
  54 + $(@).parents('form').submit()
  55 +
52 # Flash 56 # Flash
53 if (flash = $("#flash-container")).length > 0 57 if (flash = $("#flash-container")).length > 0
54 flash.click -> $(@).slideUp("slow") 58 flash.click -> $(@).slideUp("slow")
app/controllers/teams/members_controller.rb
@@ -27,7 +27,13 @@ class Teams::MembersController < Teams::ApplicationController @@ -27,7 +27,13 @@ class Teams::MembersController < Teams::ApplicationController
27 end 27 end
28 28
29 def update 29 def update
30 - options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]} 30 + member_params = params[:team_member]
  31 +
  32 + options = {
  33 + default_projects_access: member_params[:permission],
  34 + group_admin: member_params[:group_admin]
  35 + }
  36 +
31 if user_team.update_membership(team_member, options) 37 if user_team.update_membership(team_member, options)
32 redirect_to team_members_path(user_team), notice: "Membership for #{team_member.name} was successfully updated in Team of users." 38 redirect_to team_members_path(user_team), notice: "Membership for #{team_member.name} was successfully updated in Team of users."
33 else 39 else
@@ -45,5 +51,4 @@ class Teams::MembersController < Teams::ApplicationController @@ -45,5 +51,4 @@ class Teams::MembersController < Teams::ApplicationController
45 def team_member 51 def team_member
46 @member ||= user_team.members.find_by_username(params[:id]) 52 @member ||= user_team.members.find_by_username(params[:id])
47 end 53 end
48 -  
49 end 54 end
app/views/teams/members/_show.html.haml
@@ -10,23 +10,21 @@ @@ -10,23 +10,21 @@
10 %br 10 %br
11 %small.cgray= user.email 11 %small.cgray= user.email
12 12
13 - .span6.pull-right 13 + .span4
14 - if allow_admin 14 - if allow_admin
15 - .left.span2  
16 - = form_for(member, as: :team_member, url: team_member_path(@team, user)) do |f|  
17 - = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "medium project-access-select span2"  
18 - .left.span2  
19 - %span  
20 - - if @team.admin?(user)  
21 - %i.icon-check  
22 - Admin access  
23 - .pull-right  
24 - - if current_user == user  
25 - %span.btn.disabled This is you!  
26 - - if @team.owner == user  
27 - %span.btn.disabled Owner  
28 - - elsif user.blocked  
29 - %span.btn.disabled.blocked Blocked  
30 - - elsif allow_admin  
31 - = link_to team_member_path(@team, user), confirm: remove_from_user_team_message(@team, user), method: :delete, class: "btn-tiny btn btn-remove" do  
32 - %i.icon-minus.icon-white 15 + = form_for(member, as: :team_member, url: team_member_path(@team, user)) do |f|
  16 + = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "medium trigger-submit"
  17 + %br
  18 + = label_tag do
  19 + = f.check_box :group_admin, class: 'trigger-submit'
  20 + %span Admin access
  21 + .pull-right
  22 + - if current_user == user
  23 + %span.btn.disabled This is you!
  24 + - if @team.owner == user
  25 + %span.btn.disabled Owner
  26 + - elsif user.blocked
  27 + %span.btn.disabled.blocked Blocked
  28 + - elsif allow_admin
  29 + = link_to team_member_path(@team, user), confirm: remove_from_user_team_message(@team, user), method: :delete, class: "btn-tiny btn btn-remove" do
  30 + %i.icon-minus.icon-white