From: Simon Brandhof Date: Thu, 5 Jul 2012 22:28:20 +0000 (+0200) Subject: SONAR-3618 cosmetic improvements of role manamagent pages X-Git-Tag: 3.2~219 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f58548f04db967fb5aa1afa48af54720e71db276;p=sonarqube.git SONAR-3618 cosmetic improvements of role manamagent pages --- 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 3b879f7448c..a8c39cd242f 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 @@ -79,6 +79,8 @@ class RolesController < ApplicationController bad_request('Missing qualifier') if params[:qualifier].blank? end + + # POST REQUESTS def set_users @@ -96,14 +98,16 @@ class RolesController < ApplicationController def set_default_project_groups bad_request('Missing role') if params[:role].blank? bad_request('Missing qualifier') if params[:qualifier].blank? - Property.set("sonar.role.#{params[:role]}.#{params[:qualifier]}.defaultGroups", params[:groups].join(',')) + group_names = params[:groups] || [] + Property.set("sonar.role.#{params[:role]}.#{params[:qualifier]}.defaultGroups", group_names.join(',')) redirect end def set_default_project_users bad_request('Missing role') if params[:role].blank? bad_request('Missing qualifier') if params[:qualifier].blank? - Property.set("sonar.role.#{params[:role]}.#{params[:qualifier]}.defaultUsers", params[:users].join(',')) + logins = params[:logins] || [] + Property.set("sonar.role.#{params[:role]}.#{params[:qualifier]}.defaultUsers", logins.join(',')) redirect end 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 b0750b80f09..95bba72992a 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,7 +21,7 @@ module RolesHelper def users(role, resource_id=nil) resource_id=(resource_id.blank? ? nil : resource_id.to_i) - user_roles=UserRole.find(:all, :include => 'user', :conditions => {:role => role, :resource_id => resource_id}) + user_roles=UserRole.find(:all, :include => 'user', :conditions => {:role => role, :resource_id => resource_id, :users => {:active => true}}) users = user_roles.map { |ur| ur.user } Api::Utils.insensitive_sort(users) { |user| user.name } end @@ -46,14 +46,16 @@ module RolesHelper group ? group.name : 'Anyone' end - def default_project_groups(role, qualifier) + def default_project_group_names(role, qualifier) property_value=(controller.java_facade.getConfigurationValue("sonar.role.#{role}.#{qualifier}.defaultGroups")||'') Api::Utils.insensitive_sort(property_value.split(',')) end def default_project_users(role, qualifier) property_value=(controller.java_facade.getConfigurationValue("sonar.role.#{role}.#{qualifier}.defaultUsers") || '') - Api::Utils.insensitive_sort(property_value.split(',')) + logins=property_value.split(',') + users = User.find(:all, :conditions => ['login in (?) and active=?', logins, true]) + Api::Utils.insensitive_sort(users) { |user| user.name } end def role_name(role) @@ -63,7 +65,7 @@ module RolesHelper when 'user' then 'Users' when 'codeviewer' then - 'Code viewers' + 'Code Viewers' else role.to_s end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_groups.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_groups.html.erb index 26546c894d4..0528c9dd75d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_groups.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_groups.html.erb @@ -2,8 +2,8 @@ granted_groups=groups(@role, @project.id) ungranted_groups=all_groups - granted_groups %> -
» Back to roles
-

<%= h(@project.name) %>

+
» Back
+

Role Membership Of <%= h(@project.name) %>


@@ -12,15 +12,15 @@ - - diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_users.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_users.html.erb index 03728a5f532..cd57c893533 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_users.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/edit_users.html.erb @@ -2,8 +2,8 @@ granted_users=users(@role, params[:resource]) ungranted_users=all_users - granted_users %> - -

<%= h(@project.name) %>

+
» Back
+

Role Membership Of <%= h(@project.name) %>


@@ -13,15 +13,15 @@
-

Ungranted groups

+
+

Add Groups

+



@@ -29,14 +29,15 @@

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

- <% granted_groups.each do |group| %> <% end %>
-
- - diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb index 00e8c299b45..61aea2fcde7 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb @@ -1,4 +1,4 @@ -

Project roles

+

Roles

-

Ungranted users

-
+

Add Users

+
+



@@ -34,8 +34,9 @@ <%= options_from_collection_for_select(granted_users, "id", "name") %>
-
@@ -11,7 +11,7 @@ diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_users.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_users.html.erb index e69de29bb2d..9108ff50d96 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_users.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_users.html.erb @@ -0,0 +1,54 @@ +<% + granted_users=default_project_users(params[:role], params[:qualifier]) + ungranted_users=all_users - granted_users +%> +
» Back
+

Role Membership For New <%= message("qualifiers.#{params[:qualifier]}") -%>

+
+
+ + + + + + +
Administrators
Ability to perform administration functions for a project by accessing its settings.
- <%= users('admin', params[:resource]).map(&:login).join(', ') %> + <%= users('admin', params[:resource]).map(&:name).join(', ') %> (<%= link_to "select", {:action => 'edit_users', :resource => @project.id, :role => 'admin'}, :class => 'link-action' %>) @@ -22,7 +22,7 @@
Users
Ability to navigate through every service of a project, except viewing source code and settings.
- <%= users('user', params[:resource]).map(&:login).join(', ') %> + <%= users('user', params[:resource]).map(&:name).join(', ') %> (<%= link_to "select", {:action => 'edit_users', :resource => @project.id, :role => 'user'}, :class => 'link-action' %>) @@ -33,7 +33,7 @@
Code viewers
Ability to view source code of a project.
- <%= users('codeviewer', params[:resource]).map(&:login).join(', ') %> + <%= users('codeviewer', params[:resource]).map(&:name).join(', ') %> (<%= link_to "select", {:action => 'edit_users', :resource => @project.id, :role => 'codeviewer'}, :class => 'link-action' %>) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_groups.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_groups.html.erb index 8c688773fe7..8d4a2003e2b 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_groups.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/edit_default_project_groups.html.erb @@ -1,10 +1,10 @@ <% - granted_groups=default_project_groups(params[:role], params[:qualifier]) + granted_groups=default_project_group_names(params[:role], params[:qualifier]) all_groups = ['Anyone'].concat(Api::Utils.insensitive_sort(Group.all.map{|group| group.name})) ungranted_groups=all_groups - granted_groups %>
» Back
-

TO BE DEFINED

+

Role Membership For New <%= message("qualifiers.#{params[:qualifier]}") -%>


@@ -17,7 +17,7 @@
-

Ungranted groups

+

Add Groups

+ <%= message 'cancel' -%>
+ + + + + + + +
+

Add Users

+ +
+
+

+
+ +
+

Role: <%= role_name(params[:role]) -%>

+ +
+ + +
+
+ +
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 45d0213e677..9be1685567c 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 @@ -2,9 +2,9 @@ granted_groups=groups(@role, params[:resource]) ungranted_groups=all_groups - granted_groups if @project - title=h(@project.name) + title='Role Membership For: ' + h(@project.name) else - title='System administrators' + title='System Administrators' end %>
» Back
@@ -22,7 +22,7 @@ -

Ungranted groups

+

Add Groups

+ <%= message 'cancel' -%> 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 7782d580f1c..92aaf60aa02 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 @@ -2,11 +2,9 @@ granted_users=users(@role, params[:resource]) ungranted_users=(all_users - granted_users) if @project - title=h(@project.name) - elsif @role.starts_with?('default-') - title="Default project #{role_name(@role)}" + title='Role Membership For: ' + h(@project.name) else - title="Global #{role_name(@role)}" + title="System #{role_name(@role)}" end %>
» Back
@@ -24,7 +22,7 @@ -

Ungranted users

+

Add Users

+ <%= message 'cancel' -%> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/global.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/global.html.erb index 6f01618570e..0bbd2f88062 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/global.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/global.html.erb @@ -12,12 +12,12 @@ Administrators
Ability to perform all administration functions for the instance: global configuration and personalization of default dashboards. - <%= users('admin').map(&:login).join(', ') %> - (<%= link_to "select", {:action => 'edit_users', :role => 'admin', :redirect => 'global'}, :class => 'link-action' %>) + <%= users('admin').map(&:name).join(', ') -%> + (<%= link_to "select", {:action => 'edit_users', :role => 'admin', :redirect => 'global'}, :class => 'link-action' -%>) <%= groups('admin').map{|g| group_name(g)}.join(', ') %> - (<%= link_to "select", {:action => 'edit_groups', :role => 'admin', :redirect => 'global'}, :class => 'link-action' %>) + (<%= link_to "select", {:action => 'edit_groups', :role => 'admin', :redirect => 'global'}, :class => 'link-action' -%>) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb index cfe4f174958..75b0724f544 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb @@ -1,59 +1,64 @@

<%= message('roles.page') -%>

<% if @qualifiers.size>1 %> - +
<% end %> - + + - + - + - + @@ -62,75 +67,81 @@

-
+
Default Permissions For New <%= message("qualifiers.#{@qualifier}") -%>Role Membership For New <%= message("qualifiers.#{@qualifier}") -%> Users Groups
Role: Administrators
Ability to perform administration functions for a project by accessing its settings.
Role: Administrators
Ability to perform administration functions for a project by accessing its settings. +
- <%= default_project_users('admin', @qualifier).join(', ') -%> - (<%= link_to "select", {:action => 'edit_default_project_users', :role => 'admin', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' %>) + <%= default_project_users('admin', @qualifier).map{|u| h u.name}.join(', ') -%> + (<%= link_to "select", {:action => 'edit_default_project_users', :role => 'admin', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' -%>)
- <%= default_project_groups('admin', @qualifier).join(', ') -%> - (<%= link_to "select", {:action => 'edit_default_project_groups', :role => 'admin', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' %>) + <%= default_project_group_names('admin', @qualifier).join(', ') -%> + (<%= link_to "select", {:action => 'edit_default_project_groups', :role => 'admin', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' -%>)
Role: Users
Ability to navigate through every service of a project, except viewing source code and settings.
Role: Users
Ability to navigate through every service of a project, except viewing source code and settings. +
- <%= default_project_users('user', @qualifier).join(', ') -%> - (<%= link_to "select", {:action => 'edit_default_project_users', :role => 'user', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' %>) + <%= default_project_users('user', @qualifier).map{|u| h u.name}.join(', ') -%> + (<%= link_to "select", {:action => 'edit_default_project_users', :role => 'user', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' -%>) - <%= default_project_groups('user', @qualifier).join(', ') -%> - (<%= link_to "select", {:action => 'edit_default_project_groups', :role => 'user', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' %>) + <%= default_project_group_names('user', @qualifier).join(', ') -%> + (<%= link_to "select", {:action => 'edit_default_project_groups', :role => 'user', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' -%>)
Role: Code viewers
Ability to view source code of a project.
+ Role: Code viewers
Ability to view source code of a project.
- <%= default_project_users('codeviewer', @qualifier).join(', ') -%> - (<%= link_to "select", {:action => 'edit_default_project_users', :role => 'codeviewer', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' %>) + <%= default_project_users('codeviewer', @qualifier).map{|u| h u.name}.join(', ') -%> + (<%= link_to "select", {:action => 'edit_default_project_users', :role => 'codeviewer', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' -%>) - <%= default_project_groups('codeviewer', @qualifier).join(', ') -%> - (<%= link_to "select", {:action => 'edit_default_project_groups', :role => 'codeviewer', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' %>) + <%= default_project_group_names('codeviewer', @qualifier).join(', ') -%> + (<%= link_to "select", {:action => 'edit_default_project_groups', :role => 'codeviewer', :redirect => 'projects', :qualifier => @qualifier}, :class => 'link-action' -%>)
+ + + + + + + + + + <%= render :partial => 'utils/tfoot_pagination', :locals => {:pagination => @pagination, :colspan => 4} %> -
+
+ + + +
+
Role: AdministratorsRole: UsersRole: Code viewers
- - - - - - + + <% if @projects.empty? %> + + - + <% end - <%= render :partial => 'utils/tfoot_pagination', :locals => {:pagination => @pagination, :colspan => 4} %> + @projects.each do |project| + %> + + + + + + + <% + end %> + +
-
- - - -
-
Role: AdministratorsRole: UsersRole: Code viewers
<%= message('no_results') %>
<%= h project.name %>
+ <%= project.key -%> +
+ <% + users=Api::Utils.insensitive_sort(project.user_roles.select { |ur| ur.role=='admin' }.map { |ur| ur.user.name }) + groups=Api::Utils.insensitive_sort(project.group_roles.select { |gr| gr.role=='admin' }.map { |gr| group_name(gr.group) }) + %> + <%= users.join(', ') %> + (select + users)
+ <%= groups.join(', ') %> + (select + groups) +
+ <% + users=Api::Utils.insensitive_sort(project.user_roles.select { |ur| ur.role=='user' }.map { |ur| ur.user.name }) + groups=Api::Utils.insensitive_sort(project.group_roles.select { |gr| gr.role=='user' }.map { |gr| group_name(gr.group) }) + %> + <%= users.join(', ') %> + (select + users)
+ <%= groups.join(', ') %> + (select + groups) +
+ <% + users=Api::Utils.insensitive_sort(project.user_roles.select { |ur| ur.role=='codeviewer' }.map { |ur| ur.user.name }) + groups=Api::Utils.insensitive_sort(project.group_roles.select { |gr| gr.role=='codeviewer' }.map { |gr| group_name(gr.group) }) + %> + <%= users.join(', ') %> + (select + users)
+ <%= groups.join(', ') %> + (select + groups) +
- - <% if @projects.empty? %> - - <%= message('no_results') %> - - <% end +<% if @qualifiers.size>1 %>
<% end %> - @projects.each do |project| - %> - - <%= h project.name %>
- <%= project.key -%> - - - <% - users=project.user_roles.select { |ur| ur.role=='admin' }.map { |ur| ur.user.login } - groups=project.group_roles.select { |gr| gr.role=='admin' }.map { |gr| group_name(gr.group) } - %> - <%= users.join(', ') %> - (select users)
- <%= groups.join(', ') %> - (select groups) - - - <% - users=project.user_roles.select { |ur| ur.role=='user' }.map { |ur| ur.user.login } - groups=project.group_roles.select { |gr| gr.role=='user' }.map { |gr| group_name(gr.group) } - %> - <%= users.join(', ') %> - (select users)
- <%= groups.join(', ') %> - (select groups) - - - <% - users=project.user_roles.select { |ur| ur.role=='codeviewer' }.map { |ur| ur.user.login } - groups=project.group_roles.select { |gr| gr.role=='codeviewer' }.map { |gr| group_name(gr.group) } - %> - <%= users.join(', ') %> - (select users)
- <%= groups.join(', ') %> - (select groups) - - - <% - end %> - - - \ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/utils/_tfoot_pagination.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/utils/_tfoot_pagination.html.erb index ea752abaa23..31766fe114e 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/utils/_tfoot_pagination.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/utils/_tfoot_pagination.html.erb @@ -2,7 +2,7 @@ <% if pagination.count>0 %> - <%= pagination.count -%> <%= message('results').downcase -%> + <%= message('x_results', :params => [pagination.count]) -%> <% end %> <% if pagination.pages>1