OSDN Git Service

Fix not-working team memebership permissions change
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Mon, 18 Feb 2013 14:40:11 +0000 (16:40 +0200)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Mon, 18 Feb 2013 14:40:11 +0000 (16:40 +0200)
app/assets/javascripts/main.js.coffee
app/controllers/teams/members_controller.rb
app/views/teams/members/_show.html.haml

index 5aaea50..d789f54 100644 (file)
@@ -49,6 +49,10 @@ $ ->
   # Bottom tooltip
   $('.has_bottom_tooltip').tooltip(placement: 'bottom')
 
+  # Form submitter
+  $('.trigger-submit').on 'change', ->
+    $(@).parents('form').submit()
+
   # Flash
   if (flash = $("#flash-container")).length > 0
     flash.click -> $(@).slideUp("slow")
index db218b8..ead62e1 100644 (file)
@@ -27,7 +27,13 @@ class Teams::MembersController < Teams::ApplicationController
   end
 
   def update
-    options = {default_projects_access: params[:default_project_access], group_admin: params[:group_admin]}
+    member_params = params[:team_member]
+
+    options = {
+      default_projects_access: member_params[:permission],
+      group_admin: member_params[:group_admin]
+    }
+
     if user_team.update_membership(team_member, options)
       redirect_to team_members_path(user_team), notice: "Membership for #{team_member.name} was successfully updated in Team of users."
     else
@@ -45,5 +51,4 @@ class Teams::MembersController < Teams::ApplicationController
   def team_member
     @member ||= user_team.members.find_by_username(params[:id])
   end
-
 end
index 4a0287d..94d2fd5 100644 (file)
         %br
         %small.cgray= user.email
 
-    .span6.pull-right
+    .span4
       - if allow_admin
-        .left.span2
-          = form_for(member, as: :team_member, url: team_member_path(@team, user)) do |f|
-            = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "medium project-access-select span2"
-        .left.span2
-          %span
-            - if @team.admin?(user)
-              %i.icon-check
-              Admin access
-      .pull-right
-        - if current_user == user
-          %span.btn.disabled This is you!
-        - if @team.owner == user
-          %span.btn.disabled Owner
-        - elsif user.blocked
-          %span.btn.disabled.blocked Blocked
-        - elsif allow_admin
-          = link_to team_member_path(@team, user), confirm: remove_from_user_team_message(@team, user), method: :delete, class: "btn-tiny btn btn-remove" do
-            %i.icon-minus.icon-white
+        = form_for(member, as: :team_member, url: team_member_path(@team, user)) do |f|
+          = f.select :permission, options_for_select(UsersProject.access_roles, @team.default_projects_access(user)), {}, class: "medium trigger-submit"
+          %br
+          = label_tag do
+            = f.check_box :group_admin, class: 'trigger-submit'
+            %span Admin access
+    .pull-right
+      - if current_user == user
+        %span.btn.disabled This is you!
+      - if @team.owner == user
+        %span.btn.disabled Owner
+      - elsif user.blocked
+        %span.btn.disabled.blocked Blocked
+      - elsif allow_admin
+        = link_to team_member_path(@team, user), confirm: remove_from_user_team_message(@team, user), method: :delete, class: "btn-tiny btn btn-remove" do
+          %i.icon-minus.icon-white