]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4521 Ability to apply a permission template at project level
authorJulien Lancelot <julien.lancelot@gmail.com>
Fri, 20 Sep 2013 09:27:41 +0000 (11:27 +0200)
committerJulien Lancelot <julien.lancelot@gmail.com>
Fri, 20 Sep 2013 09:27:41 +0000 (11:27 +0200)
sonar-server/src/main/webapp/WEB-INF/app/views/permission_templates/index.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/project_roles/index.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/roles/_apply_template_form.html.erb
sonar-server/src/main/webapp/WEB-INF/app/views/roles/projects.html.erb

index e948e83a56692e38b8ac6ce8fbca35ae62070fe0..6502fb9203c0862cfe4daa8c74fb7c987f636b24 100644 (file)
@@ -2,13 +2,13 @@
 
 <%= render :partial => 'roles/tabs', :locals => {:selected_tab=>'Permission templates'} %>
 <br/>
-<div class="line-block">
-  <ul style="float: right" class="horizontal">
-    <li style="padding-top: 3px; padding-right: 10px;">
+<div class="line-block marginbottom10">
+  <ul class="operations">
+    <li>
       <%= link_to message('permission_template.set_default_templates'), {:action => :default_templates_form, :qualifiers => @root_qualifiers},
                   :id => 'configure-defaults-permission-template', :class => 'open-modal link-action' %>
     </li>
-    <li class="marginleft10 add">
+    <li class="last">
       <%= link_to message('create'), {:action => :create_form}, :id => 'create-link-permission-template', :class => 'open-modal link-action' %>
     </li>
   </ul>
index 776982f3f63c876827e760373f4332a47ff7d6fc..d07def1f5167bcd93bc9aaae49eb5acfa77bf33b 100644 (file)
@@ -1,41 +1,51 @@
-<h1 class="marginbottom10">Project Permissions</h1>
+<h1>Project Permissions</h1>
+
+<div class="line-block marginbottom10">
+  <ul class="operations">
+    <li class="last">
+      <%= link_to message('projects_role.apply_template'), {:controller => :roles, :action => :apply_template_form, :components => [@project.id], :names => @project.name,
+                                                            :results_count => 1},
+                  :id => "apply-template-#{u @project.kee}", :class => 'open-modal link-action' %>
+    </li>
+  </ul>
+</div>
+
 <table class="data width100">
   <thead>
-  <tr>
-    <th>&nbsp;</th>
-    <th>
-      <%= message('projects_role.user') -%><br/>
-      <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.user.desc') -%></span>
-    </th>
-    <th>
-      <%= message('projects_role.admin') -%><br/>
-      <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.admin.desc') -%></span>
-    </th>
-    <th>
-      <%= message('projects_role.codeviewer') -%><br/>
-      <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.codeviewer.desc') -%></span>
-    </th>
-  </tr>
+    <tr>
+      <th>&nbsp;</th>
+      <th>
+        <%= message('projects_role.user') -%><br/>
+        <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.user.desc') -%></span>
+      </th>
+      <th>
+        <%= message('projects_role.admin') -%><br/>
+        <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.admin.desc') -%></span>
+      </th>
+      <th>
+        <%= message('projects_role.codeviewer') -%><br/>
+        <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.codeviewer.desc') -%></span>
+      </th>
+    </tr>
   </thead>
   <tbody>
-  <tr class="even">
-    <td valign="top"><b>Users</b></td>
-
-    <% ['user', 'admin', 'codeviewer'].each do |permission| -%>
+    <tr class="even">
+      <td valign="top"><b>Users</b></td>
+      <% ['user', 'admin', 'codeviewer'].each do |permission| -%>
       <td valign="top">
         <span id="<%= permission -%>-role-users"><%= users(permission, @project.id).map(&:name).join(', ') %></span>
         (<%= link_to_edit_roles_permission_form(message('select'), permission, @project.id, "select-#{permission}-edit-users") %>)<br/>
       </td>
-    <% end %>
-  </tr>
-  <tr class="odd">
-    <td valign="top"><b>Groups</b></td>
-    <% ['admin', 'user', 'codeviewer'].each do |permission| -%>
+      <% end %>
+    </tr>
+    <tr class="odd">
+      <td valign="top"><b>Groups</b></td>
+      <% ['admin', 'user', 'codeviewer'].each do |permission| -%>
       <td valign="top">
         <span id="<%= permission -%>-role-groups"><%= groups(permission, @project.id).map{|g| group_name(g)}.join(', ') %></span>
         (<%= link_to_edit_groups_permission_form(message('select'), permission, @project.id, "select-#{permission}-edit-groups") %>)<br/>
       </td>
-    <% end %>
-  </tr>
+      <% end %>
+    </tr>
   </tbody>
 </table>
index db00f0fd6d616d4b72cf08716c5e85a0ebe6ad4b..d61a95becc933e7e7b4a824a41a8a4bd2af0f386 100644 (file)
@@ -1,10 +1,8 @@
 <form id="apply-template-form" method="post" action="<%= ApplicationController.root_context -%>/roles/apply_template">
-  <% unless @results_count == 0 %>
-    <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 %>
+  <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 %>"/>
   <fieldset>
     <div class="modal-head">
       <% if @components %>
         <h2><%= message('projects_role.apply_template') -%></h2>
       <% end %>
     </div>
-    <div class="modal-body">
-      <div class="modal-error"/>
-      <% if @results_count == 0 %>
+    <% if @results_count > 0 %>
+      <div class="modal-body">
+        <div class="modal-error"/>
+          <div class="modal-field">
+            <%= label_tag 'template_key', 'Permission Template' %>
+            <%= select_tag('template_key', options_for_select(@permission_templates, -1), :style => 'width: 250px;') %>
+            <% unless @results_count == 1 %>
+              <span style="float:right" class="note">(<%= "#{@results_count} #{message('qualifier.' + @qualifiers)}s" %>)</span><br/>
+            <% end %>
+          </div>
+      </div>
+      <div class="modal-foot">
+        <span id="apply-template-loading-image" class="loading-image hidden"><%= image_tag 'loading.gif' %></span>
+        <input type="submit" value="<%= message('apply') -%>" id="apply-template-submit" class="apply-template" onclick="return displayLoadingImage()" />
+        <a href="#" onclick="return closeModalWindow()" id="apply-template-cancel"><%= message('cancel') -%></a>
+      </div>
+    <% else %>
+      <div class="modal-body">
         <div class="info">
           <img src="<%= ApplicationController.root_context -%>/images/information.png" style="vertical-align: text-bottom"/>
           <%= message 'projects_role.no_projects' -%>
         </div>
-      <% else %>
-        <div class="modal-field">
-          <%= label_tag 'template_key', 'Permission Template' %>
-          <%= select_tag('template_key', options_for_select(@permission_templates, -1), :style => 'width: 250px;') %>
-          <% unless @results_count == 1 %>
-            <span style="float:right" class="note">(<%= "#{@results_count} #{message('qualifier.' + @qualifiers)}s" %>)</span><br/>
-          <% end %>
-        </div>
-      <% end %>
-    </div>
-    <div class="modal-foot">
-      <% unless @results_count == 0 %>
-        <span id="apply-template-loading-image" class="loading-image hidden"><%= image_tag 'loading.gif' %></span>
-        <input type="submit" value="<%= message('apply') -%>" id="apply-template-submit" class="apply-template" onclick="return displayLoadingImage()" />
-      <% end %>
-      <a href="#" onclick="return closeModalWindow()" id="apply-template-cancel"><%= message('cancel') -%></a>
-    </div>
+      </div>
+      <div class="modal-foot">
+        <a href="#" onclick="return closeModalWindow()" id="apply-template-cancel"><%= message('cancel') -%></a>
+      </div>
+    <% end %>
   </fieldset>
 </form>
 <script>
index 55b524732549d3835628dac1fee92112c68b18e2..8d01e85034d2138663fce96e35ae61d9a6881fb9 100644 (file)
 
 <table class="data width100" id="projects">
   <thead>
-  <tr>
-    <th>&nbsp;</th>
-    <th>
-      <%= message('projects_role.user') -%><br/>
-      <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.user.desc') -%></span>
-    </th>
-    <th>
-      <%= message('projects_role.admin') -%><br/>
-      <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.admin.desc') -%></span>
-    </th>
-    <th>
-      <%= message('projects_role.codeviewer') -%><br/>
-      <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.codeviewer.desc') -%></span>
-    </th>
-    <th></th>
-  </tr>
+    <tr>
+      <th>&nbsp;</th>
+      <th>
+        <%= message('projects_role.user') -%><br/>
+        <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.user.desc') -%></span>
+      </th>
+      <th>
+        <%= message('projects_role.admin') -%><br/>
+        <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.admin.desc') -%></span>
+      </th>
+      <th>
+        <%= message('projects_role.codeviewer') -%><br/>
+        <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.codeviewer.desc') -%></span>
+      </th>
+      <th>&nbsp;</th>
+    </tr>
   </thead>
 
   <%= paginate_java(@query_result.paging, :colspan => 4, :id => 'project-roles-foot', :include_loading_icon => true) { |label, page_id|