From 874a3fa1f98419e84a75737b4815e0d6c1898239 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 27 Mar 2012 15:01:13 +0200 Subject: [PATCH] SONAR-3106 Error trying to configure group privileges for a project --- .../WEB-INF/app/controllers/roles_controller.rb | 3 ++- .../webapp/WEB-INF/app/helpers/roles_helper.rb | 15 ++++++++------- .../WEB-INF/app/views/roles/edit_groups.html.erb | 10 +++++----- .../WEB-INF/app/views/roles/edit_users.html.erb | 12 ++++++------ 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb index aeda3799152..fdb1a8d902e 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb @@ -31,7 +31,8 @@ class RolesController < ApplicationController def projects @projects=Project.find(:all, :conditions => {:enabled=>true, :scope => Project::SCOPE_SET, :qualifier => [Project::QUALIFIER_VIEW, Project::QUALIFIER_SUBVIEW, Project::QUALIFIER_PROJECT]}, - :include => ['user_roles', 'group_roles']).sort{|a,b| a.name.downcase<=>b.name.downcase} + :include => ['user_roles', 'group_roles']) + Api::Utils.insensitive_sort!(@projects){|project| project.name} end def edit_users diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/roles_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/roles_helper.rb index 55936a07bfe..77501833196 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/roles_helper.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/roles_helper.rb @@ -21,24 +21,25 @@ module RolesHelper def users(role, resource_id=nil) resource_id=(resource_id.blank? ? nil : resource_id.to_i) - user_roles=UserRole.find(:all, :conditions => {:role => role, :resource_id => resource_id}) - user_roles.map {|ur| ur.user}.sort + user_roles=UserRole.find(:all, :include => 'user', :conditions => {:role => role, :resource_id => resource_id}) + users = user_roles.map { |ur| ur.user } + Api::Utils.insensitive_sort(users) {|user| user.name} end def all_users - User.find(:all, :conditions => ["active=?", true], :order => 'name') + users = User.find(:all, :conditions => ["active=?", true]) + Api::Utils.insensitive_sort(users) {|user| user.name} end def groups(role, resource_id=nil) resource_id=(resource_id.blank? ? nil : resource_id.to_i) group_roles=GroupRole.find(:all, :conditions => {:role => role, :resource_id => resource_id}) - group_roles.map{|ur| ur.group}.sort do |x,y| - x ? x<=>y : -1 - end + groups = group_roles.map{|ur| ur.group} + Api::Utils.insensitive_sort(groups) {|group| group ? group.name : ''} end def all_groups - [nil].concat(Group.find(:all, :order => 'name')) + [nil].concat(Api::Utils.insensitive_sort(Group.all) {|group| group.name}) end def group_name(group) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_groups.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_groups.html.erb index 33a568e23b2..fec44e938a9 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_groups.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_groups.html.erb @@ -20,15 +20,15 @@ - -
+

Ungranted groups

- + <% ungranted_groups.each do |group| %> <% end %>
+



@@ -38,7 +38,7 @@

Role: <%= role_name(@role) -%>


diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_users.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_users.html.erb index b0be2583ba5..7c724973203 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_users.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_users.html.erb @@ -20,15 +20,15 @@ - - -- 2.39.5
+

Ungranted users

- + <% ungranted_users.each do |user| %> <% end %>
+



@@ -37,11 +37,11 @@

Role: <%= role_name(@role) -%>

- <%= options_from_collection_for_select(granted_users, "id", "name") %>
-
+