aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml4
-rw-r--r--sonar-core/src/test/java/org/sonar/core/permission/PermissionDaoTest.java6
-rw-r--r--sonar-core/src/test/resources/org/sonar/core/permission/PermissionDaoTest/selectAllPermissionTemplates.xml6
-rw-r--r--sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplate.java12
-rw-r--r--sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java2
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb6
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb11
-rw-r--r--sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateTest.java2
8 files changed, 32 insertions, 17 deletions
diff --git a/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml b/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml
index 0ca7a418f63..5999d29729d 100644
--- a/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml
+++ b/sonar-core/src/main/resources/org/sonar/core/permission/PermissionTemplateMapper.xml
@@ -68,13 +68,13 @@
</select>
<select id="selectByName" parameterType="String" resultType="PermissionTemplate">
- SELECT id, name, description, created_at AS createdAt, updated_at AS updatedAt
+ SELECT id, name, kee, description, created_at AS createdAt, updated_at AS updatedAt
FROM permission_templates
WHERE name = #{templateName}
</select>
<select id="selectAllPermissionTemplates" resultType="PermissionTemplate">
- SELECT id, name, description, created_at AS createdAt, updated_at AS updatedAt
+ SELECT id, name, kee, description, created_at AS createdAt, updated_at AS updatedAt
FROM permission_templates
</select>
diff --git a/sonar-core/src/test/java/org/sonar/core/permission/PermissionDaoTest.java b/sonar-core/src/test/java/org/sonar/core/permission/PermissionDaoTest.java
index 57d312aceb9..424943b66ad 100644
--- a/sonar-core/src/test/java/org/sonar/core/permission/PermissionDaoTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/permission/PermissionDaoTest.java
@@ -93,6 +93,7 @@ public class PermissionDaoTest extends AbstractDaoTestCase {
assertThat(permissionTemplate).isNotNull();
assertThat(permissionTemplate.getName()).isEqualTo("my template");
+ assertThat(permissionTemplate.getKee()).isEqualTo("my_template_20130102_030405");
assertThat(permissionTemplate.getDescription()).isEqualTo("my description");
assertThat(permissionTemplate.getUsersPermissions()).hasSize(3);
assertThat(permissionTemplate.getUsersPermissions()).onProperty("userId").containsOnly(1L, 2L, 1L);
@@ -126,11 +127,12 @@ public class PermissionDaoTest extends AbstractDaoTestCase {
assertThat(permissionTemplate).isNotNull();
assertThat(permissionTemplate.getId()).isEqualTo(1L);
assertThat(permissionTemplate.getName()).isEqualTo("my template");
+ assertThat(permissionTemplate.getKee()).isEqualTo("my_template_20130102_030405");
assertThat(permissionTemplate.getDescription()).isEqualTo("my description");
}
@Test
- public void should_select_permission_template_by_id() throws Exception {
+ public void should_select_permission_template_by_key() throws Exception {
setupData("selectPermissionTemplate");
PermissionTemplateDto permissionTemplate = permissionDao.selectTemplateByKey("my_template_20130102_030405");
@@ -138,6 +140,7 @@ public class PermissionDaoTest extends AbstractDaoTestCase {
assertThat(permissionTemplate).isNotNull();
assertThat(permissionTemplate.getId()).isEqualTo(1L);
assertThat(permissionTemplate.getName()).isEqualTo("my template");
+ assertThat(permissionTemplate.getKee()).isEqualTo("my_template_20130102_030405");
assertThat(permissionTemplate.getDescription()).isEqualTo("my description");
}
@@ -150,6 +153,7 @@ public class PermissionDaoTest extends AbstractDaoTestCase {
assertThat(permissionTemplates).hasSize(3);
assertThat(permissionTemplates).onProperty("id").containsOnly(1L, 2L, 3L);
assertThat(permissionTemplates).onProperty("name").containsOnly("template1", "template2", "template3");
+ assertThat(permissionTemplates).onProperty("kee").containsOnly("template1_20130102_030405", "template2_20130102_030405", "template3_20130102_030405");
assertThat(permissionTemplates).onProperty("description").containsOnly("description1", "description2", "description3");
}
diff --git a/sonar-core/src/test/resources/org/sonar/core/permission/PermissionDaoTest/selectAllPermissionTemplates.xml b/sonar-core/src/test/resources/org/sonar/core/permission/PermissionDaoTest/selectAllPermissionTemplates.xml
index 1fa43bea18c..65a68bb4b4b 100644
--- a/sonar-core/src/test/resources/org/sonar/core/permission/PermissionDaoTest/selectAllPermissionTemplates.xml
+++ b/sonar-core/src/test/resources/org/sonar/core/permission/PermissionDaoTest/selectAllPermissionTemplates.xml
@@ -1,5 +1,5 @@
<dataset>
- <permission_templates id="1" name="template1" kee="my_template_20130102_030405" description="description1" created_at="[null]" updated_at="[null]"/>
- <permission_templates id="2" name="template2" kee="my_template_20130102_030405" description="description2" created_at="[null]" updated_at="[null]"/>
- <permission_templates id="3" name="template3" kee="my_template_20130102_030405" description="description3" created_at="[null]" updated_at="[null]"/>
+ <permission_templates id="1" name="template1" kee="template1_20130102_030405" description="description1" created_at="[null]" updated_at="[null]"/>
+ <permission_templates id="2" name="template2" kee="template2_20130102_030405" description="description2" created_at="[null]" updated_at="[null]"/>
+ <permission_templates id="3" name="template3" kee="template3_20130102_030405" description="description3" created_at="[null]" updated_at="[null]"/>
</dataset> \ No newline at end of file
diff --git a/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplate.java b/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplate.java
index a88bf35d11f..0d6bbf66fe4 100644
--- a/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplate.java
+++ b/sonar-server/src/main/java/org/sonar/server/permission/PermissionTemplate.java
@@ -34,13 +34,15 @@ public class PermissionTemplate {
private final Long id;
private final String name;
+ private final String key;
private final String description;
private Multimap<String, PermissionTemplateUser> usersByPermission;
private Multimap<String, PermissionTemplateGroup> groupsByPermission;
- private PermissionTemplate(Long id, String name, String description) {
+ private PermissionTemplate(Long id, String name, String key, String description) {
this.id = id;
this.name = name;
+ this.key = key;
this.description = description;
usersByPermission = HashMultimap.create();
groupsByPermission = HashMultimap.create();
@@ -50,8 +52,8 @@ public class PermissionTemplate {
if(permissionTemplateDto == null) {
return null;
}
- PermissionTemplate permissionTemplate =
- new PermissionTemplate(permissionTemplateDto.getId(), permissionTemplateDto.getName(), permissionTemplateDto.getDescription());
+ PermissionTemplate permissionTemplate = new PermissionTemplate(
+ permissionTemplateDto.getId(), permissionTemplateDto.getName(), permissionTemplateDto.getKee(), permissionTemplateDto.getDescription());
List<PermissionTemplateUserDto> usersPermissions = permissionTemplateDto.getUsersPermissions();
if(usersPermissions != null) {
@@ -83,6 +85,10 @@ public class PermissionTemplate {
return description;
}
+ public String getKey() {
+ return key;
+ }
+
public List<PermissionTemplateUser> getUsersForPermission(String permission) {
return ImmutableList.copyOf(usersByPermission.get(permission));
}
diff --git a/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java b/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java
index 5447ccd6b67..93b0b2d29b3 100644
--- a/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java
+++ b/sonar-server/src/main/java/org/sonar/server/startup/RegisterPermissionTemplates.java
@@ -84,7 +84,7 @@ public class RegisterPermissionTemplates {
} else {
GroupDto groupDto = userDao.selectGroupByName(groupName);
if(groupDto != null) {
- groupId = userDao.selectGroupByName(groupName).getId();
+ groupId = groupDto.getId();
} else {
throw new IllegalArgumentException("Cannot setup default permission for group: " + groupName);
}
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb
index b9a99cb8fb0..1d9aa4a1bbb 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/permission_templates_controller.rb
@@ -43,7 +43,7 @@ class PermissionTemplatesController < ApplicationController
templates_names.each do |template_name|
permission_template = Internal.permission_templates.selectPermissionTemplate(template_name)
@permission_templates << permission_template
- @permission_templates_options << [permission_template.name, permission_template.id.to_s]
+ @permission_templates_options << [permission_template.name, permission_template.key]
end
@root_qualifiers = get_root_qualifiers
@@ -78,7 +78,7 @@ class PermissionTemplatesController < ApplicationController
#
def update_users_permissions
verify_post_request
- require_parameters :id, :name, :permission
+ require_parameters :name, :permission
@permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name])
@@ -106,7 +106,7 @@ class PermissionTemplatesController < ApplicationController
#
def update_groups_permissions
verify_post_request
- require_parameters :id, :name, :permission
+ require_parameters :name, :permission
@permission_template = Internal.permission_templates.selectPermissionTemplate(params[:name])
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb
index 2ab96d10867..7b7f25ff923 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb
@@ -85,10 +85,13 @@
:id => "selectg-codeviewer-#{u permission_template.name}", :class => 'open-modal link-action', 'modal-width' => '760px' %>)
</td>
<td>
- <% if @default_templates.values.include?(permission_template.id.to_s)
- qualifier = @default_templates.invert[permission_template.id.to_s]
+ <% qualifiers = []
+ @default_templates.each_pair do |q, t|
+ qualifiers << q if t == permission_template.key
+ end
+ if qualifiers.length > 0
%>
- <%= image_tag 'tick.png', :id => "is_active_#{u permission_template.name}" %><span class="small gray">(Default for <%= message('qualifier.' + qualifier) %>)</span>
+ <%= image_tag 'tick.png', :id => "is_active_#{u permission_template.name}" %><span class="small gray">(Default for <%= qualifiers.collect {|q| message('qualifier.' + q)}.join(',') %>)</span>
<% end %>
</td>
<td align="right">
@@ -96,7 +99,7 @@
:id => "edit-template-#{u permission_template.name}", :class => 'open-modal link-action' %>
</td>
<td align="right">
- <% unless @default_templates.values.include?(permission_template.id.to_s) %>
+ <% unless @default_templates.values.include?(permission_template.key) %>
<%= link_to message('delete'), {:action => :delete_form, :name => permission_template.name},
:id => "delete-template-#{u permission_template.name}", :class => 'open-modal link-action link-red' %>
<% end %>
diff --git a/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateTest.java b/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateTest.java
index 69a11a8a2ca..5cfa33b23c4 100644
--- a/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/permission/PermissionTemplateTest.java
@@ -36,6 +36,7 @@ public class PermissionTemplateTest {
PermissionTemplateDto permissionTemplateDto = new PermissionTemplateDto()
.setId(1L)
.setName("name")
+ .setKee("key")
.setDescription("description")
.setUsersPermissions(Lists.newArrayList(
new PermissionTemplateUserDto().setId(1L).setUserId(1L).setUserName("user1").setUserLogin("login1").setPermission("permission1"),
@@ -52,6 +53,7 @@ public class PermissionTemplateTest {
assertThat(permissionTemplate.getId()).isEqualTo(1L);
assertThat(permissionTemplate.getName()).isEqualTo("name");
+ assertThat(permissionTemplate.getKey()).isEqualTo("key");
assertThat(permissionTemplate.getDescription()).isEqualTo("description");
assertThat(permissionTemplate.getUsersForPermission("unmatchedPermission")).isEmpty();
assertThat(permissionTemplate.getUsersForPermission("permission1")).onProperty("userName").containsOnly("user1", "user2");