aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
authorJean-Baptiste Vilain <jean-baptiste.vilain@sonarsource.com>2013-07-24 18:49:54 +0200
committerJean-Baptiste Vilain <jean-baptiste.vilain@sonarsource.com>2013-07-24 18:49:54 +0200
commit8a84e2454ef5dc77c235cff31eac75e8cca0c7d6 (patch)
tree5065ede6053bdad9fb34157a5de56f4fd8b7f68b /sonar-server
parent5d7267b24df954a618fe73e22143ef2a72bd7b43 (diff)
downloadsonarqube-8a84e2454ef5dc77c235cff31eac75e8cca0c7d6.tar.gz
sonarqube-8a84e2454ef5dc77c235cff31eac75e8cca0c7d6.zip
SONAR-4453 Fixed issue with single view permissions update
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/roles_controller.rb9
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/roles/_apply_template_form.html.erb1
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb3
3 files changed, 9 insertions, 4 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 0ccae067312..b0466bce768 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
@@ -85,6 +85,7 @@ class RolesController < ApplicationController
@keys = params[:keys]
@qualifiers = params[:qualifiers] || 'TRK'
@results_count = params[:results_count].to_i || 0
+ @components = params[:components]
render :partial => 'apply_template_form'
end
@@ -94,10 +95,12 @@ class RolesController < ApplicationController
verify_post_request
require_parameters :template_key
- params['pageSize'] = -1
- components = Internal.component_api.find(params).components().to_a
+ if params['components'].blank?
+ params['pageSize'] = -1
+ components = Internal.component_api.find(params).components().to_a
+ params['components'] = components.collect{|component| component.getId()}.join(',')
+ end
- params['components'] = components.collect{|component| component.getId()}.join(',')
Internal.permissions.applyPermissionTemplate(params)
redirect_to :action => 'projects'
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/_apply_template_form.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/_apply_template_form.html.erb
index 5062a63e056..f699b469808 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/roles/_apply_template_form.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/roles/_apply_template_form.html.erb
@@ -3,6 +3,7 @@
<input type="hidden" name="names" id="apply-template-names" value="<%= @names %>"/>
<input type="hidden" name="keys" id="apply-template-keys" value="<%= @keys %>"/>
<input type="hidden" name="qualifiers" id="apply-template-qualifiers" value="<%= @qualifiers %>"/>
+ <input type="hidden" name="components" id="apply-template-components" value="<%= @components %>"/>
<% end %>
<fieldset>
<div class="modal-head">
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 66d1183a69b..70b37e1e645 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
@@ -83,7 +83,8 @@
</td>
<% end %>
<td align="right">
- <%= link_to message('projects_role.apply_template'), {:action => :apply_template_form, :names => project.name, :results_count => 1},
+ <%= link_to message('projects_role.apply_template'), {:action => :apply_template_form, :components => [project.id], :names => project.name,
+ :results_count => 1, :qualifiers => @components_qualifiers},
:id => "apply-template-#{u project.kee}", :class => 'open-modal link-action' %>
</td>
</tr>