]> source.dussan.org Git - sonarqube.git/commitdiff
Update actions search_users, add_member and remove_member ro use user login and group...
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 4 Dec 2013 13:17:36 +0000 (14:17 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 4 Dec 2013 13:17:51 +0000 (14:17 +0100)
sonar-server/src/main/webapp/WEB-INF/app/controllers/groups_controller.rb
sonar-server/src/main/webapp/WEB-INF/app/controllers/user_groups_controller.rb

index f0bf55cc25e93a7f9836224cddfd5ecf77a3b0a9..594ab6512499c44016b3a050b143938acc3e3e05 100644 (file)
@@ -99,10 +99,15 @@ class GroupsController < ApplicationController
 
 
   # Used for selection of group members
+  #
+  # GET /groups/search_users?group=<group_name>&page=1&pageSize=10
+  #
+  #
   def search_users
     require_parameters :group, :page, :pageSize
 
-    group_id = params[:group].to_i
+    group = Group.first(:conditions => {:name => params[:group]})
+    group_id = group.id
     selected = params[:selected]||'all'
     query = params[:query]
     page_id = params[:page].to_i
@@ -147,10 +152,10 @@ class GroupsController < ApplicationController
 
   def add_member
     verify_post_request
-    require_parameters :group, :user
+    require_parameters :group, :login
 
-    user = User.find(:first, :conditions => {:id => params[:user], :active => true})
-    group = Group.find(params[:group])
+    user = User.find(:first, :conditions => {:login => params[:login], :active => true})
+    group = Group.first(:conditions => {:name => params[:group]})
     status = 400
     if user && group
       group.users << user
@@ -161,15 +166,16 @@ class GroupsController < ApplicationController
 
   def remove_member
     verify_post_request
-    require_parameters :group, :user
+    require_parameters :group, :login
 
-    user_id = params[:user].to_i
-    group = Group.find(params[:group])
+    user = User.find(:first, :conditions => {:login => params[:user], :active => true})
+    user_id = user.id
+    group = Group.first(:conditions => {:name => params[:group]})
     status = 400
     if group
-      user = group.users.find(user_id)
-      if user
-        group.users.delete(user)
+      user_from_group = group.users.find(user_id)
+      if user_from_group
+        group.users.delete(user_from_group)
         status = 200 if group.save
       else
         status = 200  
index 0ef6d3fe6e71286eb937722e8b7a6ba7230d237c..85545031b9154a08df13616718daf4657f8ae499 100644 (file)
@@ -24,7 +24,6 @@ class UserGroupsController < ApplicationController
   #
   # Possible value of 'selected' are 'selected', 'deselected' and 'all' ()
   #
-  #
   def search
     result = Internal.group_membership.find(params)
     groups = result.groups()