Commit 97de6f851b54e87f5a01f9bbc16ce64464c88579
1 parent
1481d1cf
Exists in
master
and in
4 other branches
Fix not-working team memebership permissions change
Showing
3 changed files
with
28 additions
and
21 deletions
Show diff stats
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 |