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 |