-<h1 class="admin-page-title">{{t 'analysis_reports.page'}}</h1>
-<p class="admin-page-description">
- The server is in charge to process reports submitted by batch analyses. This page allows to monitor the queue of
- pending reports to process, and gives access to the history of past analyses.
-</p>
+<header class="page-header">
+ <h1 class="page-title">{{t 'analysis_reports.page'}}</h1>
+ <p class="page-description">
+ The server is in charge to process reports submitted by batch analyses. This page allows to monitor the queue of
+ pending reports to process, and gives access to the history of past analyses.
+ </p>
+</header>
<div class="analysis-reports-actions"></div>
<div class="analysis-reports-results"></div>
overflow-x: hidden;
overflow-y: scroll;
}
+
+.modal-head {
+ padding: 0 10px;
+ background-color: #EFEFEF;
+ border-bottom: 1px solid #DDD;
+}
+
+.modal-head h1, .modal-head h2 {
+ line-height: 30px;
+ min-height: 30px;
+}
+
+ul.modal-head-metadata {
+ overflow: hidden;
+ padding: 0 0 5px 0;
+}
+
+ul.modal-head-metadata li {
+ float: left;
+ position: relative;
+ font-size: 85%;
+ color: #777;
+}
+
+.modal-body {
+ padding: 10px;
+}
+
+.modal-body-select2 {
+ margin-bottom: 10px;
+}
+
+.modal-body .notes {
+ height: auto;
+}
+
+.modal-field {
+ clear: both;
+ display: block;
+ padding: 5px 0 5px 130px;
+}
+
+.modal-field label {
+ display: block;
+ float: left;
+ text-align: right;
+ width: 130px;
+ left: -140px;
+ margin-right: -130px;
+ line-height: 1;
+ word-wrap: break-word;
+ position: relative;
+ padding-top: 5px;
+
+ &.simple-label {
+ display: inline-block;
+ vertical-align: middle;
+ float: none;
+ position: static;
+ margin: 0 0 0 -5px;
+ padding: 0;
+ text-align: left;
+ }
+}
+
+.readonly-field {
+ padding-top: 5px;
+ margin-left: -5px;
+ line-height: 1;
+}
+
+.modal-field input {
+ margin-right: 5px;
+ margin-bottom: 10px;
+}
+
+.modal-field input[type=text],
+.modal-field input[type=password],
+.modal-field textarea {
+ width: 250px;
+}
+
+.modal-field .text {
+ line-height: 20px;
+}
+
+.modal-foot {
+ text-align: right;
+ padding: 2px 10px;
+ border-top: 1px solid #CCC;
+ line-height: 30px;
+ height: 30px;
+ background-color: #EFEFEF;
+}
+
+.modal-foot input {
+ margin-right: 10px;
+}
+
+.modal-field-description {
+ clear: both;
+ font-size: 93%;
+ color: #777;
+}
+
+.modal-error, .modal-warning, .modal-notice {
+ display: none;
+}
font-weight: normal;
margin-bottom: 25px;
}
+
+.red-button {
+ color: #990000 !important;
+}
+
+.red-button:hover {
+ color: #FFFFFF !important;
+ border: solid 1px #CD504A !important;
+ background: #B33630 !important;
+ background: -webkit-gradient(linear, left top, left bottom, from(#DC5F59), to(#B33630)) !important;
+ background: -moz-linear-gradient(top, #DC5F59, #B33630) !important;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#DC5F59', endColorstr = '#B33630') !important;
+}
+
+.red-button:active {
+ color: #FFFFFF !important;
+ border: solid 1px #CD504A !important;
+ background: #B33630 !important;
+ background: -webkit-gradient(linear, left top, left bottom, from(#AC2F29), to(#D35650)) !important;
+ background: -moz-linear-gradient(top, #AC2F29, #D35650) !important;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#AC2F29', endColorstr = '#D35650') !important;
+}
+
+.red-button[disabled] {
+ position: relative;
+ top: 0;
+ text-shadow: 1px 1px 0 #FFFFFF;
+ color: #BBBBBB;
+ border: solid 1px #DDD;
+ background: #EBEBEB;
+ background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#E1E1E1));
+ background: -moz-linear-gradient(top, #FFFFFF, #E1E1E1);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#FFFFFF', endColorstr = '#E1E1E1');
+ cursor: default;
+}
@import "init/type";
@import "init/links";
@import "init/tables";
+@import "init/lists";
@import "init/icons";
@import "init/misc";
vertical-align: bottom;
}
}
+
+.spacer-left {
+ margin-left: 8px;
+}
+
+.spacer-right {
+ margin-right: 8px;
+}
+
+.spacer-bottom {
+ margin-bottom: 8px;
+}
+
+.spacer-top {
+ margin-top: 8px;
+}
+
+td.spacer-left {
+ padding-left: 8px;
+}
+
+td.spacer-right {
+ padding-right: 8px;
+}
+
+td.spacer-bottom {
+ padding-bottom: 8px;
+}
+
+td.spacer-top {
+ padding-top: 8px;
+}
+
+.bordered {
+ border: 1px solid @barBorderColor;
+}
+
+.bordered-left {
+ border-left: 1px solid @barBorderColor;
+}
+
+.bordered-right {
+ border-right: 1px solid @barBorderColor;
+}
+
+.bordered-bottom {
+ border-bottom: 1px solid @barBorderColor;
+}
+
+.bordered-top {
+ border-top: 1px solid @barBorderColor;
+}
font-weight: bold;
}
+blockquote {
+ border-left: 3px solid #E5E5E5;
+ padding: 0 8px;
+ line-height: 16px;
+}
+
+blockquote cite {
+ line-height: 16px;
+ padding-left: 20px;
+ background: url('../images/reviews/comment.png') no-repeat left center;
+ font-size: 12px;
+ color: #888;
+}
+
small,
.small {
font-size: (100% * (@smallFontSize / @baseFontSize));
vertical-align: text-bottom;
}
-.red-button {
- color: #990000 !important;
-}
-
-.red-button:hover {
- color: #FFFFFF !important;
- border: solid 1px #CD504A !important;
- background: #B33630 !important;
- background: -webkit-gradient(linear, left top, left bottom, from(#DC5F59), to(#B33630)) !important;
- background: -moz-linear-gradient(top, #DC5F59, #B33630) !important;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#DC5F59', endColorstr = '#B33630') !important;
-}
-
-.red-button:active {
- color: #FFFFFF !important;
- border: solid 1px #CD504A !important;
- background: #B33630 !important;
- background: -webkit-gradient(linear, left top, left bottom, from(#AC2F29), to(#D35650)) !important;
- background: -moz-linear-gradient(top, #AC2F29, #D35650) !important;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#AC2F29', endColorstr = '#D35650') !important;
-}
-
-.red-button[disabled] {
- position: relative;
- top: 0;
- text-shadow: 1px 1px 0 #FFFFFF;
- color: #BBBBBB;
- border: solid 1px #DDD;
- background: #EBEBEB;
- background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#E1E1E1));
- background: -moz-linear-gradient(top, #FFFFFF, #E1E1E1);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#FFFFFF', endColorstr = '#E1E1E1');
- cursor: default;
-}
-
/* ------------------- SETUP / MIGRATION PAGES ------------------- */
.migration {
background-image: url("../images/logo.png");
color: #999;
}
-blockquote {
- border-left: 3px solid #E5E5E5;
- padding: 0 8px;
- line-height: 16px;
-}
-
-blockquote cite {
- line-height: 16px;
- background-image: url('../images/reviews/comment.png');
- background-repeat: no-repeat;
- padding-left: 20px;
- background-position: left center;
- font-size: 12px;
- color: #888;
-}
-
-.spacer-left {
- margin-left: 8px;
-}
-
-.spacer-right {
- margin-right: 8px;
-}
-
-.spacer-bottom {
- margin-bottom: 8px;
-}
-
-.spacer-top {
- margin-top: 8px;
-}
-
-td.spacer-left {
- padding-left: 8px;
-}
-
-td.spacer-right {
- padding-right: 8px;
-}
-
-td.spacer-bottom {
- padding-bottom: 8px;
-}
-
-td.spacer-top {
- padding-top: 8px;
-}
-
-.bordered {
- border: 1px solid #DDD;
-}
-
-.bordered-left {
- border-left: 1px solid #DDD;
-}
-
-.bordered-right {
- border-right: 1px solid #DDD;
-}
-
-.bordered-bottom {
- border-bottom: 1px solid #DDD;
-}
-
-.bordered-top {
- border-top: 1px solid #DDD;
-}
-
.table > thead > tr > th {
border-top: 0 none;
font-weight: bold;
width: 175px;
}
-/*
-
- MODAL WINDOWS
-
-*/
-.modal-head {
- padding: 0 10px;
- background-color: #EFEFEF;
- border-bottom: 1px solid #DDD;
-}
-
-.modal-head h1, .modal-head h2 {
- line-height: 30px;
- min-height: 30px;
-}
-
-ul.modal-head-metadata {
- overflow: hidden;
- padding: 0 0 5px 0;
-}
-
-ul.modal-head-metadata li {
- float: left;
- position: relative;
- font-size: 85%;
- color: #777;
-}
-
-.modal-body {
- padding: 10px;
-}
-
-.modal-body-select2 {
- margin-bottom: 10px;
-}
-
-.modal-body .notes {
- height: auto;
-}
-
-.modal-field {
- clear: both;
- display: block;
- padding: 5px 0 5px 130px;
-}
-
-.modal-field label {
- display: block;
- float: left;
- text-align: right;
- width: 130px;
- left: -140px;
- margin-right: -130px;
- line-height: 1;
- word-wrap: break-word;
- position: relative;
- padding-top: 5px;
-
- &.simple-label {
- display: inline-block;
- vertical-align: middle;
- float: none;
- position: static;
- margin: 0 0 0 -5px;
- padding: 0;
- text-align: left;
- }
-}
-
-.readonly-field {
- padding-top: 5px;
- margin-left: -5px;
- line-height: 1;
-}
-
-.modal-field input {
- margin-right: 5px;
- margin-bottom: 10px;
-}
-
-.modal-field input[type=text],
-.modal-field input[type=password],
-.modal-field textarea {
- width: 250px;
-}
-
-.modal-field .text {
- line-height: 20px;
-}
-
-.modal-foot {
- text-align: right;
- padding: 2px 10px;
- border-top: 1px solid #CCC;
- line-height: 30px;
- height: 30px;
- background-color: #EFEFEF;
-}
-
-.modal-foot input {
- margin-right: 10px;
-}
-
-.modal-field-description {
- clear: both;
- font-size: 93%;
- color: #777;
-}
-
-.modal-error, .modal-warning, .modal-notice {
- display: none;
-}
textarea.width100 {
width: 100%;
-<div class="admin_page">
- <h1 class="admin-page-title"><%= message('dashboard.global_dashboards') -%></h1>
- <p class="admin-page-description"><%= message('dashboard.global_dashboards.description') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('dashboard.global_dashboards') -%></h1>
+ <p class="page-description"><%= message('dashboard.global_dashboards.description') -%></p>
+ </header>
<%= render :partial => 'list', :locals => {:active_dashboards => @actives.select(&:global?), :group => 'activeGlobal'} %>
- <h1 class="admin-page-title"><%= message('dashboard.project_dashboards') -%></h1>
- <p class="admin-page-description"><%= message('dashboard.project_dashboards.description') -%></p>
+ <header class="page-header">
+ <h1 class="page-title"><%= message('dashboard.project_dashboards') -%></h1>
+ <p class="page-description"><%= message('dashboard.project_dashboards.description') -%></p>
+ </header>
<%= render :partial => 'list', :locals => {:active_dashboards => @actives.reject(&:global?), :group => 'activeProject'} %>
- <h1 class="admin-page-title"><%= message('dashboard.shared_dashboards') -%></h1>
- <p class="admin-page-description"><%= message('dashboard.shared_dashboards.description') -%></p>
+ <header class="page-header">
+ <h1 class="page-title"><%= message('dashboard.shared_dashboards') -%></h1>
+ <p class="page-description"><%= message('dashboard.shared_dashboards.description') -%></p>
+ </header>
<table class="data" id="shared">
<thead>
<% end %>
-<div id="analysis-reports">
+<div class="page" id="analysis-reports">
<i class="spinner"></i>
</div>
-<h1 class="admin-page-title"><%= message('bulk_deletion.page') -%></h1>
-<p class="admin-page-description"><%= message('bulk_deletion.page.description') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('bulk_deletion.page') -%></h1>
+ <p class="page-description"><%= message('bulk_deletion.page.description') -%></p>
+ </header>
-<ul class="tabs">
-<% @tabs.each do |tab| %>
- <li>
- <a href="<%= url_for :action => 'index', :qualifiers => tab %>" id="tab-<%= u tab -%>"><%= message('qualifiers.' + tab) -%></a>
- </li>
-<% end %>
- <li>
- <a href="<%= url_for :action => 'ghosts' %>" id="tab-ghosts" class="selected"><%= message('bulk_deletion.ghosts') -%></a>
- </li>
-</ul>
+ <ul class="tabs">
+ <% @tabs.each do |tab| %>
+ <li>
+ <a href="<%= url_for :action => 'index', :qualifiers => tab %>" id="tab-<%= u tab -%>"><%= message('qualifiers.' + tab) -%></a>
+ </li>
+ <% end %>
+ <li>
+ <a href="<%= url_for :action => 'ghosts' %>" id="tab-ghosts" class="selected"><%= message('bulk_deletion.ghosts') -%></a>
+ </li>
+ </ul>
-<div class="tabs-panel marginbottom10">
+ <div class="tabs-panel marginbottom10">
- <p style="margin: 0 0 15px 0">
- <%= message('bulk_deletion.ghosts.description') -%>
- </p>
+ <p style="margin: 0 0 15px 0">
+ <%= message('bulk_deletion.ghosts.description') -%>
+ </p>
- <% unless @ghosts.size > 0 %>
+ <% unless @ghosts.size > 0 %>
- <b><%= message('bulk_deletion.no_ghosts') -%></b>
+ <b><%= message('bulk_deletion.no_ghosts') -%></b>
- <% else %>
+ <% else %>
- <p style="margin: 0 0 10px 0">
- <%= message('bulk_deletion.following_ghosts_can_be_deleted') -%>
- </p>
+ <p style="margin: 0 0 10px 0">
+ <%= message('bulk_deletion.following_ghosts_can_be_deleted') -%>
+ </p>
- <table>
- <%
- @tabs.each do |qualifier|
- ghosts = @ghosts_by_qualifier[qualifier]
- if ghosts
- %>
- <tr>
- <td class="thin nowrap top" style="padding-right: 20px">
- <b><%= message('qualifiers.' + qualifier) -%> :</b>
- </td>
- <td>
- <ul>
- <%
- ghosts.sort {|x,y| x.name <=> y.name}.each do |resource|
- %>
- <li><%= h resource.name -%> <span class="small gray">( <%= h resource.key -%> )</span></li>
- <%
+ <table>
+ <%
+ @tabs.each do |qualifier|
+ ghosts = @ghosts_by_qualifier[qualifier]
+ if ghosts
+ %>
+ <tr>
+ <td class="thin nowrap top" style="padding-right: 20px">
+ <b><%= message('qualifiers.' + qualifier) -%> :</b>
+ </td>
+ <td>
+ <ul>
+ <%
+ ghosts.sort { |x, y| x.name <=> y.name }.each do |resource|
+ %>
+ <li><%= h resource.name -%> <span class="small gray">( <%= h resource.key -%> )</span></li>
+ <%
+ end
+ %>
+ </ul>
+ <%
end
- %>
- </ul>
- <%
- end
- end
- %>
- </table>
+ end
+ %>
+ </table>
- <p style="margin: 15px 0">
+ <p style="margin: 15px 0">
<form action="<%= ApplicationController.root_context -%>/bulk_deletion/delete_resources" method="POST">
- <input type="hidden" id="all_resources" name="all_resources" value="<%= @ghosts.map {|r| r.id.to_s}.join(',') -%>"/>
+ <input type="hidden" id="all_resources" name="all_resources" value="<%= @ghosts.map { |r| r.id.to_s }.join(',') -%>"/>
<input id="delete_resources" class="action red-button" type="submit" value="<%= message('bulk_deletion.delete_all_ghosts') -%>" name="commit">
</form>
- </p>
+ </p>
- <% end %>
+ <% end %>
+ </div>
</div>
-<h1 class="admin-page-title"><%= message('bulk_deletion.page') -%></h1>
-<p class="admin-page-description"><%= message('bulk_deletion.page.description') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('bulk_deletion.page') -%></h1>
+ <p class="page-description"><%= message('bulk_deletion.page.description') -%></p>
+ </header>
-<ul class="tabs">
-<% @tabs.each do |tab| %>
- <li>
- <a href="<%= url_for :action => 'index', :qualifiers => tab %>" <%= "class='selected'" if @selected_tab==tab -%> id="tab-<%= u tab -%>"><%= message('qualifiers.' + tab) -%></a>
- </li>
-<% end %>
- <li>
- <a href="<%= url_for :action => 'ghosts' %>" id="tab-ghosts"><%= message('bulk_deletion.ghosts') -%></a>
- </li>
-</ul>
+ <ul class="tabs">
+ <% @tabs.each do |tab| %>
+ <li>
+ <a href="<%= url_for :action => 'index', :qualifiers => tab %>" <%= "class='selected'" if @selected_tab==tab -%> id="tab-<%= u tab -%>"><%= message('qualifiers.' + tab) -%></a>
+ </li>
+ <% end %>
+ <li>
+ <a href="<%= url_for :action => 'ghosts' %>" id="tab-ghosts"><%= message('bulk_deletion.ghosts') -%></a>
+ </li>
+ </ul>
-<div class="tabs-panel marginbottom10">
+ <div class="tabs-panel marginbottom10">
-<%
- found_resources_count = @query_result.paging.total
- found_resources_ids = @query_result.components.map {|r| r.id.to_s}.join(',')
-%>
+ <%
+ found_resources_count = @query_result.paging.total
+ found_resources_ids = @query_result.components.map {|r| r.id.to_s}.join(',')
+ %>
- <% form_tag( {:action => 'index'}, :method => :get ) do %>
- <%= message('bulk_deletion.resource_name_filter_by_name') -%> <input type="text" id="resource_filter" name="names" size="40px" value="<%= h params[:names] -%>"/>
- <input type="hidden" name="qualifiers" value="<%= @selected_tab -%>"/>
- <%= submit_tag message('bulk_deletion.filter'), :id => 'filter_resources' %>
- <% end %>
+ <% form_tag( {:action => 'index'}, :method => :get ) do %>
+ <%= message('bulk_deletion.resource_name_filter_by_name') -%> <input type="text" id="resource_filter" name="names" size="40px" value="<%= h params[:names] -%>"/>
+ <input type="hidden" name="qualifiers" value="<%= @selected_tab -%>"/>
+ <%= submit_tag message('bulk_deletion.filter'), :id => 'filter_resources' %>
+ <% end %>
- <% if @query_result.components.empty? %>
- <br/>
- <%= message('no_results') -%>
- <% else %>
+ <% if @query_result.components.empty? %>
+ <br/>
+ <%= message('no_results') -%>
+ <% else %>
- <form action="<%= ApplicationController.root_context -%>/bulk_deletion/delete_resources" method="POST">
- <input type="hidden" name="qualifiers" value="<%= @selected_tab -%>"/>
- <input type="hidden" name="names" value="<%= params[:names] -%>"/>
- <input type="hidden" name="select_all" value="false" id="select_all"/>
- <table class="data" id="resources-to-delete">
- <thead>
+ <form action="<%= ApplicationController.root_context -%>/bulk_deletion/delete_resources" method="POST">
+ <input type="hidden" name="qualifiers" value="<%= @selected_tab -%>"/>
+ <input type="hidden" name="names" value="<%= params[:names] -%>"/>
+ <input type="hidden" name="select_all" value="false" id="select_all"/>
+ <table class="data" id="resources-to-delete">
+ <thead>
+ <tr>
+ <th><input id="r-all" type="checkbox" onclick="selectOrDeselect()"></th>
+ <th>
+ <span>« <%= message('bulk_deletion.select_all') -%></span>
+ <% if found_resources_count - @query_result.components.size > 0 %>
+ <a id="select_all_action" style="padding-left: 10px; font-weight: normal; display: none"
+ href="#" onclick="handleSelectAllAction(); return false;"><%= message('bulk_deletion.select_all_x_resources', :params => found_resources_count) -%></a>
+ <% end %>
+ </th>
+ <th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% @query_result.components.each_with_index do |resource, index| %>
+ <tr class="<%= cycle 'even', 'odd' -%>">
+ <td class="thin">
+ <input id="r-<%= index -%>" type="checkbox" value="<%= resource.id -%>" name="resources[]">
+ </td>
+ <td>
+ <%= h resource.name -%>
+ </td>
+ <td>
+ <span class="small gray"><%= h resource.key -%></span></td>
+ </td>
+ </tr>
+ <% end %>
<tr>
- <th><input id="r-all" type="checkbox" onclick="selectOrDeselect()"></th>
- <th>
- <span>« <%= message('bulk_deletion.select_all') -%></span>
- <% if found_resources_count - @query_result.components.size > 0 %>
- <a id="select_all_action" style="padding-left: 10px; font-weight: normal; display: none"
- href="#" onclick="handleSelectAllAction(); return false;"><%= message('bulk_deletion.select_all_x_resources', :params => found_resources_count) -%></a>
- <% end %>
- </th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- <% @query_result.components.each_with_index do |resource, index| %>
- <tr class="<%= cycle 'even', 'odd' -%>">
- <td class="thin">
- <input id="r-<%= index -%>" type="checkbox" value="<%= resource.id -%>" name="resources[]">
- </td>
- <td>
- <%= h resource.name -%>
- </td>
- <td>
- <span class="small gray"><%= h resource.key -%></span></td>
+ <td colspan="3">
+ <input id="delete_resources" class="action red-button" type="submit" value="<%= message('delete') -%>" onclick="return checkBeforeDeleting();" name="commit">
</td>
</tr>
- <% end %>
- <tr>
- <td colspan="3">
- <input id="delete_resources" class="action red-button" type="submit" value="<%= message('delete') -%>" onclick="return checkBeforeDeleting();" name="commit">
- </td>
- </tr>
- </tbody>
- <%= paginate_java(@query_result.paging, :colspan => 3, :id => 'projects-bulk-deletion-foot', :include_loading_icon => true) { |label, page_id|
- link_to(label, params.merge({:pageIndex => page_id}))
- }
- %>
- </table>
- </form>
+ </tbody>
+ <%= paginate_java(@query_result.paging, :colspan => 3, :id => 'projects-bulk-deletion-foot', :include_loading_icon => true) { |label, page_id|
+ link_to(label, params.merge({:pageIndex => page_id}))
+ }
+ %>
+ </table>
+ </form>
- <script>
- function checkBeforeDeleting() {
- var resource_selected = false;
- $j("#resources-to-delete input[type='checkbox']").each(function(index,input) {
- if (input.checked) resource_selected = true;
- });
- if (!resource_selected) {
- alert("<%= message('bulk_deletion.please_select_at_least_one_resource') -%>");
- return false;
+ <script>
+ function checkBeforeDeleting() {
+ var resource_selected = false;
+ $j("#resources-to-delete input[type='checkbox']").each(function(index,input) {
+ if (input.checked) resource_selected = true;
+ });
+ if (!resource_selected) {
+ alert("<%= message('bulk_deletion.please_select_at_least_one_resource') -%>");
+ return false;
+ }
+ return confirm("<%= message('bulk_deletion.sure_to_delete_the_resources') -%>");
}
- return confirm("<%= message('bulk_deletion.sure_to_delete_the_resources') -%>");
- }
- function selectOrDeselect() {
- var status = $j('#r-all').prop('checked');
- $j('tbody input').each(function(index,input) {
- input.checked = status;
- });
- <% if found_resources_count - @query_result.components.size > 0 %>
- selectNotAllResources();
- if (status) {
- $j('#select_all_action').show();
- } else {
- $j('#select_all_action').hide();
+ function selectOrDeselect() {
+ var status = $j('#r-all').prop('checked');
+ $j('tbody input').each(function(index,input) {
+ input.checked = status;
+ });
+ <% if found_resources_count - @query_result.components.size > 0 %>
+ selectNotAllResources();
+ if (status) {
+ $j('#select_all_action').show();
+ } else {
+ $j('#select_all_action').hide();
+ }
+ <% end %>
}
- <% end %>
- }
- function handleSelectAllAction() {
- if ($j('#select_all').val()=='false') {
- selectAllResources();
- } else {
- $j('#r-all').checked = false;
- selectOrDeselect();
+ function handleSelectAllAction() {
+ if ($j('#select_all').val()=='false') {
+ selectAllResources();
+ } else {
+ $j('#r-all').checked = false;
+ selectOrDeselect();
+ }
}
- }
- function selectAllResources() {
- $j('#select_all').val('true');
- $j('#select_all_action').html('<%= message('bulk_deletion.clear_selection', :params => found_resources_count) -%>');
- }
+ function selectAllResources() {
+ $j('#select_all').val('true');
+ $j('#select_all_action').html('<%= message('bulk_deletion.clear_selection', :params => found_resources_count) -%>');
+ }
- function selectNotAllResources() {
- $j('#select_all').val('false');
- $j('#select_all_action').html('<%= message('bulk_deletion.select_all_x_resources', :params => found_resources_count) -%>');
- }
- </script>
+ function selectNotAllResources() {
+ $j('#select_all').val('false');
+ $j('#select_all_action').html('<%= message('bulk_deletion.select_all_x_resources', :params => found_resources_count) -%>');
+ }
+ </script>
- <% end %>
+ <% end %>
+ </div>
</div>
<script>require(['common/select-list']);</script>
<% end %>
-<div>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('user_groups.page') -%></h1>
<% if profiles_administrator? %>
- <ul style="float: right" class="horizontal">
- <li class="marginleft10 add">
- <a id="link-create-group" href="<%=ApplicationController.root_context-%>/groups/create_form" class="open-modal link-action">Add new group</a>
- </li>
- </ul>
+ <div class="page-actions">
+ <a id="link-create-group" href="<%= ApplicationController.root_context -%>/groups/create_form" class="open-modal link-action">Add new group</a>
+ </div>
<% end %>
- <h1 class="admin-page-title"><%= message('user_groups.page') -%></h1>
- <p class="admin-page-description"><%= message('user_groups.page.description') -%> </p>
-</div>
+ <p class="page-description"><%= message('user_groups.page.description') -%> </p>
+ </header>
-<table width="100%">
- <tr>
- <td valign="top">
+ <table width="100%">
+ <tr>
+ <td valign="top">
- <table class="data width100 sortable" id="groups">
- <thead>
+ <table class="data width100 sortable" id="groups">
+ <thead>
<tr>
<th class="left sortfirstasc"><a>Name</a></th>
<th class="left"><a>Description</a></th>
<th class="left"><a>Members</a></th>
<th class="operations nosort" nowrap><a>Operations</a></th>
</tr>
- </thead>
- <tbody>
+ </thead>
+ <tbody>
<tr id="group-anyone">
- <td class="left"><%= h 'Anyone' -%></td>
+ <td class="left"><%= h 'Anyone' -%></td>
<td class="left" style="word-break:break-all"><%= message('user_groups.anyone.description') -%></td>
<td class="left"> </td>
<td> </td>
</tr>
- <% @groups.each do |group| %>
- <tr id="group-<%= group.name.parameterize -%>">
- <td class="left"><%= h group.name -%></td>
- <td class="left" style="word-break:break-all"><%= h group.description -%></td>
- <td class="left">
- <span id="count-<%= group.name.parameterize -%>"><%= group.users.count -%></span>
- (<a id="select-<%= group.name.parameterize -%>" class="open-modal link-action" href="<%= ApplicationController.root_context -%>/groups/select_user/<%= group.id -%>">select</a>)
- </td>
- <td class="operations">
- <a id='edit-<%= group.name.parameterize -%>' class='open-modal link-action' href="<%= ApplicationController.root_context -%>/groups/edit_form/<%= group.id -%>">Edit</a>
-
- <%= link_to_action message('delete'), "#{ApplicationController.root_context}/groups/delete/#{group.id}",
+ <% @groups.each do |group| %>
+ <tr id="group-<%= group.name.parameterize -%>">
+ <td class="left"><%= h group.name -%></td>
+ <td class="left" style="word-break:break-all"><%= h group.description -%></td>
+ <td class="left">
+ <span id="count-<%= group.name.parameterize -%>"><%= group.users.count -%></span>
+ (<a id="select-<%= group.name.parameterize -%>" class="open-modal link-action" href="<%= ApplicationController.root_context -%>/groups/select_user/<%= group.id -%>">select</a>)
+ </td>
+ <td class="operations">
+ <a id='edit-<%= group.name.parameterize -%>' class='open-modal link-action' href="<%= ApplicationController.root_context -%>/groups/edit_form/<%= group.id -%>">Edit</a>
+
+ <%= link_to_action message('delete'), "#{ApplicationController.root_context}/groups/delete/#{group.id}",
:class => 'link-action link-red',
:id => "delete-#{group.name.parameterize}",
:confirm_button => message('delete'),
:confirm_msg => 'Are you sure that you want to delete this group? Members will not be deleted.',
:confirm_msg_params => [group.name]
-%>
- </td>
- </tr>
- <% end %>
- </tbody>
- </table>
- <script>jQuery('#groups').sortable();</script>
- </td>
- </tr>
-</table>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ <script>jQuery('#groups').sortable();</script>
+ </td>
+ </tr>
+ </table>
+</div>
-<div>
- <% if profiles_administrator? %>
- <ul style="float: right" class="horizontal">
- <li class="marginleft10 add">
- <a id="create-link-metric"
- href="<%=ApplicationController.root_context-%>/metrics/create_form"
- class="open-modal link-action"><%= message('manual_metrics.add_manual_metric') -%></a>
- </li>
- </ul>
- <% end %>
- <h1 class="admin-page-title"><%= message('manual_metrics.page') -%></h1>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('manual_metrics.page') -%></h1>
+ <% if profiles_administrator? %>
+ <div class="page-actions">
+ <a id="create-link-metric"
+ href="<%= ApplicationController.root_context -%>/metrics/create_form"
+ class="open-modal"><%= message('manual_metrics.add_manual_metric') -%></a>
+ </div>
+ <% end %>
+ <p class="page-description"><%= message('manual_metrics.page.description') -%> </p>
+ </header>
- <p class="admin-page-description"><%= message('manual_metrics.page.description') -%> </p>
-</div>
-
-<table width="100%">
- <tr>
- <td valign="top">
- <table class="sortable data width100" id="metrics">
- <thead>
+ <table width="100%">
+ <tr>
+ <td valign="top">
+ <table class="sortable data width100" id="metrics">
+ <thead>
<tr>
<th class="left"><a>Key</a></th>
<th class="left sortfirstasc"><a>Name</a></th>
<th class="left"><a>Type</a></th>
<th class="left nosort"><a>Operations</a></th>
</tr>
- </thead>
- <tbody>
- <% if @metrics.empty? %>
- <tr class="even">
+ </thead>
+ <tbody>
+ <% if @metrics.empty? %>
+ <tr class="even">
<td colspan="6"><%= message('no_results') -%></td>
- </tr>
- <% end %>
- <% @metrics.each do |metric| %>
- <tr>
- <td class="left" nowrap id="metric_key_<%= metric.key -%>"><span class="note"><%= metric.key -%></span></td>
- <td class="left" nowrap id="metric_name_<%= metric.key -%>"><%= h metric.short_name -%></td>
- <td class="left" id="metric_desc_<%= metric.key -%>"><%= h metric.description -%></td>
- <td class="left" id="metric_domain_<%= metric.key -%>"><%= h metric.domain -%></td>
- <td class="left" id="metric_type_name<%= metric.key -%>"><%= h metric.value_type_name -%></td>
- <td class="right thin nowrap">
- <% if is_admin? %>
- <a id="edit_<%= metric.key.parameterize -%>" href="<%=ApplicationController.root_context-%>/metrics/edit_form/<%= metric.id -%>" id="edit_<%= h(metric.short_name)-%>" class="open-modal link-action">Edit</a>
- <%= link_to_action message('delete'), "#{ApplicationController.root_context}/metrics/delete_from_web/#{metric.id}",
- :class => 'link-action link-red',
- :id => "delete_#{h(metric.short_name)}",
- :confirm_button => message('delete'),
- :confirm_title => message('manual_metrics.delete_manual_metric'),
- :confirm_msg => message('manual_metrics.delete_manual_metric_message', :params => [h(metric.key)]),
- :confirm_msg_params => [metric.id]
- -%>
- <% end %>
- </td>
- </tr>
- <% end %>
- </tbody>
- </table>
- <script>jQuery('#metrics').sortable();</script>
- </td>
- </tr>
-</table>
+ </tr>
+ <% end %>
+ <% @metrics.each do |metric| %>
+ <tr>
+ <td class="left" nowrap id="metric_key_<%= metric.key -%>"><span class="note"><%= metric.key -%></span>
+ </td>
+ <td class="left" nowrap id="metric_name_<%= metric.key -%>"><%= h metric.short_name -%></td>
+ <td class="left" id="metric_desc_<%= metric.key -%>"><%= h metric.description -%></td>
+ <td class="left" id="metric_domain_<%= metric.key -%>"><%= h metric.domain -%></td>
+ <td class="left" id="metric_type_name<%= metric.key -%>"><%= h metric.value_type_name -%></td>
+ <td class="right thin nowrap">
+ <% if is_admin? %>
+ <a id="edit_<%= metric.key.parameterize -%>" href="<%= ApplicationController.root_context -%>/metrics/edit_form/<%= metric.id -%>" id="edit_<%= h(metric.short_name) -%>" class="open-modal link-action">Edit</a>
+ <%= link_to_action message('delete'), "#{ApplicationController.root_context}/metrics/delete_from_web/#{metric.id}",
+ :class => 'link-action link-red',
+ :id => "delete_#{h(metric.short_name)}",
+ :confirm_button => message('delete'),
+ :confirm_title => message('manual_metrics.delete_manual_metric'),
+ :confirm_msg => message('manual_metrics.delete_manual_metric_message', :params => [h(metric.key)]),
+ :confirm_msg_params => [metric.id]
+ -%>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ <script>jQuery('#metrics').sortable();</script>
+ </td>
+ </tr>
+ </table>
+</div>
<script>require(['common/select-list']);</script>
<% end %>
-<h1 class="admin-page-title"><%= message 'roles.page' -%></h1>
-<p class="admin-page-description"><%= message('roles.page.description') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message 'roles.page' -%></h1>
+ <p class="page-description"><%= message('roles.page.description') -%></p>
+ </header>
-<%= render :partial => 'roles/tabs', :locals => {:selected_tab=>'Permission templates'} %>
-<br/>
-<div class="line-block marginbottom10">
- <div class="button-group operations">
- <%= 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 button' %>
- <%= link_to message('create'), {:action => :create_form}, :id => 'create-link-permission-template', :class => 'open-modal link-action button' %>
+ <%= render :partial => 'roles/tabs', :locals => {:selected_tab => 'Permission templates'} %>
+ <br/>
+ <div class="line-block marginbottom10">
+ <div class="button-group operations">
+ <%= 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 button' %>
+ <%= link_to message('create'), {:action => :create_form}, :id => 'create-link-permission-template', :class => 'open-modal link-action button' %>
+ </div>
</div>
-</div>
-<table class="data width100" id="permission-templates">
- <thead>
- <tr valign="top">
- <th class="left" width="20%"><%= message('name') -%></th>
- <th class="left">
- <%= message('projects_role.user') -%><br/>
- <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.user.desc') -%></span>
- </th>
- <th class="left">
- <%= message('projects_role.admin') -%><br/>
- <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.admin.desc') -%></span>
- </th>
- <th class="left">
- <%= message('projects_role.issueadmin') -%><br/>
- <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.issueadmin.desc') -%></span>
- </th>
- <th class="left">
- <%= message('projects_role.codeviewer') -%><br/>
- <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.codeviewer.desc') -%></span>
- </th>
- <th class="left" width="8%"><%= message('association') -%></th>
- <th class="right" width="5%" colspan="2"><%= message('operations') -%></th>
- </tr>
- </thead>
-
- <tbody>
- <% if @permission_templates.empty? %>
- <tr class="even">
- <td colspan="7" align="left"><%= message('permission_template.no_results') %></td>
+ <table class="data width100" id="permission-templates">
+ <thead>
+ <tr valign="top">
+ <th class="left" width="20%"><%= message('name') -%></th>
+ <th class="left">
+ <%= message('projects_role.user') -%><br/>
+ <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.user.desc') -%></span>
+ </th>
+ <th class="left">
+ <%= message('projects_role.admin') -%><br/>
+ <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.admin.desc') -%></span>
+ </th>
+ <th class="left">
+ <%= message('projects_role.issueadmin') -%><br/>
+ <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.issueadmin.desc') -%></span>
+ </th>
+ <th class="left">
+ <%= message('projects_role.codeviewer') -%><br/>
+ <span class="small gray" style="font-size: 11px; font-weight: normal;"><%= message('projects_role.codeviewer.desc') -%></span>
+ </th>
+ <th class="left" width="8%"><%= message('association') -%></th>
+ <th class="right" width="5%" colspan="2"><%= message('operations') -%></th>
</tr>
- <% end %>
- <% @permission_templates.each do |permission_template| %>
- <tr class="<%= cycle('even', 'odd') -%>">
- <td valign="top"><b><%= h permission_template.name %></b><br/>
- <span class="small gray"><%= h permission_template.description -%></span>
- </td>
- <% ['user', 'admin', 'issueadmin', 'codeviewer'].each do |permission| -%>
- <td valign="top">
- <%
- users=Api::Utils.insensitive_sort(permission_template.getUsersForPermission(permission).collect {|u| u.userName})
- groups=Api::Utils.insensitive_sort(permission_template.getGroupsForPermission(permission).collect {|g| g.groupName.blank? ? 'Anyone' : g.groupName})
- %>
- <span id="u-<%= permission -%>-<%= u permission_template.key -%>"><%= users.join(', ') %></span>
- (<%= link_to message('select users'), {:action => :edit_users, :key => permission_template.key, :permission => permission},
- :id => "select-u-#{permission}-#{u permission_template.key}", :class => 'open-modal link-action nowrap', 'modal-width' => '540px' %>)<br/>
- <span id="g-<%= permission -%>-<%= u permission_template.key -%>"><%= groups.join(', ') %></span>
- (<%= link_to message('select groups'), {:action => :edit_groups, :key => permission_template.key, :permission => permission},
- :id => "select-g-#{permission}-#{u permission_template.key}", :class => 'open-modal link-action nowrap', 'modal-width' => '540px' %>)<br/>
+ </thead>
+
+ <tbody>
+ <% if @permission_templates.empty? %>
+ <tr class="even">
+ <td colspan="7" align="left"><%= message('permission_template.no_results') %></td>
+ </tr>
+ <% end %>
+ <% @permission_templates.each do |permission_template| %>
+ <tr class="<%= cycle('even', 'odd') -%>">
+ <td valign="top"><b><%= h permission_template.name %></b><br/>
+ <span class="small gray"><%= h permission_template.description -%></span>
</td>
- <% end %>
- <td>
+ <% ['user', 'admin', 'issueadmin', 'codeviewer'].each do |permission| -%>
+ <td valign="top">
+ <%
+ users=Api::Utils.insensitive_sort(permission_template.getUsersForPermission(permission).collect { |u| u.userName })
+ groups=Api::Utils.insensitive_sort(permission_template.getGroupsForPermission(permission).collect { |g| g.groupName.blank? ? 'Anyone' : g.groupName })
+ %>
+ <span id="u-<%= permission -%>-<%= u permission_template.key -%>"><%= users.join(', ') %></span>
+ (<%= link_to message('select users'), {:action => :edit_users, :key => permission_template.key, :permission => permission},
+ :id => "select-u-#{permission}-#{u permission_template.key}", :class => 'open-modal link-action nowrap', 'modal-width' => '540px' %>)<br/>
+ <span id="g-<%= permission -%>-<%= u permission_template.key -%>"><%= groups.join(', ') %></span>
+ (<%= link_to message('select groups'), {:action => :edit_groups, :key => permission_template.key, :permission => permission},
+ :id => "select-g-#{permission}-#{u permission_template.key}", :class => 'open-modal link-action nowrap', 'modal-width' => '540px' %>)<br/>
+ </td>
+ <% end %>
+ <td>
<span id="<%= "key-pattern-#{u permission_template.key}" %>">
<%= permission_template.key_pattern -%>
</span>
- <% qualifiers = []
- @default_templates.each_pair do |q, t|
- qualifiers << q if t == permission_template.key
- end
- if qualifiers.length > 0
- %>
- <br/>
+ <% qualifiers = []
+ @default_templates.each_pair do |q, t|
+ qualifiers << q if t == permission_template.key
+ end
+ if qualifiers.length > 0
+ %>
+ <br/>
<span class="small gray" id="<%= "is-default-#{u permission_template.key}" %>">
- <%= message('permission_template.default_for', :params => qualifiers.collect {|q| message('qualifier.' + q)}.join(', ')) -%>
+ <%= message('permission_template.default_for', :params => qualifiers.collect { |q| message('qualifier.' + q) }.join(', ')) -%>
</span>
- <% end %>
- </td>
- <td align="right">
- <%= link_to message('edit'), {:action => :edit_form, :key => permission_template.key},
- :id => "edit-template-#{u permission_template.key}", :class => 'open-modal link-action' %>
- </td>
- <td align="right">
- <% unless @default_templates.values.include?(permission_template.key) %>
- <%= link_to message('delete'), {:action => :delete_form, :key => permission_template.key},
- :id => "delete-template-#{u permission_template.key}", :class => 'open-modal link-action link-red' %>
- <% end %>
- </td>
- </tr>
- <%
- end %>
- </tbody>
-</table>
+ <% end %>
+ </td>
+ <td align="right">
+ <%= link_to message('edit'), {:action => :edit_form, :key => permission_template.key},
+ :id => "edit-template-#{u permission_template.key}", :class => 'open-modal link-action' %>
+ </td>
+ <td align="right">
+ <% unless @default_templates.values.include?(permission_template.key) %>
+ <%= link_to message('delete'), {:action => :delete_form, :key => permission_template.key},
+ :id => "delete-template-#{u permission_template.key}", :class => 'open-modal link-action link-red' %>
+ <% end %>
+ </td>
+ </tr>
+ <%
+ end %>
+ </tbody>
+ </table>
+</div>
<div class="page">
- <h1 class="admin-page-title"><%= message('project_quality_profiles.page') -%></h1>
- <p class="admin-page-description"><%= message('project_quality_profiles.page.description') -%></p>
+ <header class="page-header">
+ <h1 class="page-title"><%= message('project_quality_profiles.page') -%></h1>
+ <p class="page-description"><%= message('project_quality_profiles.page.description') -%></p>
+ </header>
<table class="data">
<thead>
<option value="" <%= "selected='selected'" unless selected_profile -%>><%= message 'project_quality_profile.default_profile' -%></option>
<optgroup>
<%
- profiles = Api::Utils.insensitive_sort(@all_quality_profiles.select {|profile| profile.language == language.getKey()}) { |profile| profile.name }
+ profiles = Api::Utils.insensitive_sort(@all_quality_profiles.select { |profile| profile.language == language.getKey() }) { |profile| profile.name }
profiles.each do |profile|
%>
<option value="<%= profile.id -%>" <%= "selected='selected'" if selected_profile && (selected_profile.id == profile.id) -%>><%= h profile.name -%></option>
<div class="page">
- <h1 class="admin-page-title"><%= message('project_quality_gate.page') -%></h1>
- <p class="admin-page-description"><%= message('project_quality_gate.page.description') -%></p>
+ <header class="page-header">
+ <h1 class="page-title"><%= message('project_quality_gate.page') -%></h1>
+ <p class="page-description"><%= message('project_quality_gate.page.description') -%></p>
+ </header>
<form id="select-quality-gate" method="POST" action="<%= ApplicationController.root_context -%>/project/set_qualitygate">
<input type="hidden" name="id" value="<%= @project_id -%>"/>
-<div class="admin_page">
- <ul style="float: right" class="horizontal">
- <li class="marginleft10 add">
- <%= link_to message('create'), {:action => :create_form}, :id => "create-link-provisioning", :class => 'open-modal link-action' %>
- </li>
- </ul>
-
- <h1 class="admin-page-title"><%= message('provisioning.page') -%></h1>
- <p class="admin-page-description"><%= message('provisioning.page.description') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('provisioning.page') -%></h1>
+ <div class="page-actions">
+ <%= link_to message('create'), {:action => :create_form}, :id => "create-link-provisioning", :class => 'open-modal' %>
+ </div>
+ <p class="page-description"><%= message('provisioning.page.description') -%></p>
+ </header>
<% if @query_result.empty? %>
<br/>
<%= message('provisioning.no_results') -%>
<% else %>
- <table class="data" id="provisioned-resources">
- <thead>
+ <table class="data" id="provisioned-resources">
+ <thead>
<tr>
<th><%= message('key') -%></th>
<th><%= message('name') -%></span></th>
<th><%= message('created') -%></th>
<th class="operations"><%= message('operations') -%></th>
</tr>
- </thead>
- <tbody>
- <% @query_result.each_with_index do |resource, index| %>
+ </thead>
+ <tbody>
+ <% @query_result.each_with_index do |resource, index| %>
- <tr id="entry-<%= resource.key.parameterize -%>" class="<%= cycle 'even', 'odd' -%>">
- <td>
- <%= link_to h(resource.key), {:controller => 'dashboard', :action => 'index', :id => resource.id},
- :id => "view-#{resource.key.parameterize}" %>
- </td>
- <td><%= h resource.name -%></td>
- <td><%= format_datetime(resource.created_at) -%></td>
- <td class="operations">
- <%= link_to message('delete'), {:action => :delete_form, :id => resource.id},
- {:id => "delete-#{resource.key.parameterize}", :class => 'open-modal link-action link-red'} -%>
- </td>
- </tr>
- <% end %>
- </tbody>
- </table>
+ <tr id="entry-<%= resource.key.parameterize -%>" class="<%= cycle 'even', 'odd' -%>">
+ <td>
+ <%= link_to h(resource.key), {:controller => 'dashboard', :action => 'index', :id => resource.id},
+ :id => "view-#{resource.key.parameterize}" %>
+ </td>
+ <td><%= h resource.name -%></td>
+ <td><%= format_datetime(resource.created_at) -%></td>
+ <td class="operations">
+ <%= link_to message('delete'), {:action => :delete_form, :id => resource.id},
+ {:id => "delete-#{resource.key.parameterize}", :class => 'open-modal link-action link-red'} -%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
<% end %>
<script>require(['common/select-list']);</script>
<% end %>
-<h1 class="admin-page-title"><%= h message 'global_permissions.page' -%></h1>
-<p class="admin-page-description"><%= message('global_permissions.page.description') -%> </p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= h message 'global_permissions.page' -%></h1>
+ <p class="page-description"><%= message('global_permissions.page.description') -%> </p>
+ </header>
-<table class="data width100" id="global-permissions">
- <thead>
- <tr >
- <th><%= h message('global_permissions.permission') -%></th>
- <th width="30%"><%= h message('global_permissions.users') -%></th>
- <th width="30%"><%= h message('global_permissions.groups') -%></th>
- </tr>
- </thead>
- <tbody>
- <%
- permission_keys = Internal.permissions.globalPermissions()
- key_to_name = permission_keys.inject({}) do |hash, key|
- hash[key] = message("global_permissions.#{key}")
- hash
- end
- %>
-
- <%
- # Note that sorting by names should be case insensitive but it's not the case. It's not a problem in this page.
- key_to_name.sort{|a,b| a[1]<=>b[1]}.each do |elem|
- permission_key = elem[0]
- permission_name = elem[1]
- %>
- <tr class="<%= cycle('even', 'odd', :name => 'global_permission') -%>" >
- <td valign="top">
- <b><%= h permission_name -%></b><br/>
- <span class="small gray"><%= message("global_permissions.#{permission_key}.desc") -%></span>
- </td>
- <td valign="top" style="word-break:break-all;width:30%;">
- <span id="users-<%= permission_key.parameterize -%>"><%= users(permission_key).map(&:name).join(', ') -%></span>
- (<%= link_to_edit_roles_permission_form(message('select'), permission_key, nil, "select-users-#{permission_key}") -%>)<br/>
- </td>
- <td valign="top" style="word-break:break-all;width:30%;">
- <span id="groups-<%= permission_key.parameterize -%>"><%= groups(permission_key).map{|g| group_name(g)}.join(', ') %></span>
- (<%= link_to_edit_groups_permission_form(message('select'), permission_key, nil, "select-groups-#{permission_key}") -%>)<br/>
- </td>
+ <table class="data width100" id="global-permissions">
+ <thead>
+ <tr>
+ <th><%= h message('global_permissions.permission') -%></th>
+ <th width="30%"><%= h message('global_permissions.users') -%></th>
+ <th width="30%"><%= h message('global_permissions.groups') -%></th>
</tr>
+ </thead>
+ <tbody>
+ <%
+ permission_keys = Internal.permissions.globalPermissions()
+ key_to_name = permission_keys.inject({}) do |hash, key|
+ hash[key] = message("global_permissions.#{key}")
+ hash
+ end
+ %>
+
+ <%
+ # Note that sorting by names should be case insensitive but it's not the case. It's not a problem in this page.
+ key_to_name.sort { |a, b| a[1]<=>b[1] }.each do |elem|
+ permission_key = elem[0]
+ permission_name = elem[1]
+ %>
+ <tr class="<%= cycle('even', 'odd', :name => 'global_permission') -%>">
+ <td valign="top">
+ <b><%= h permission_name -%></b><br/>
+ <span class="small gray"><%= message("global_permissions.#{permission_key}.desc") -%></span>
+ </td>
+ <td valign="top" style="word-break:break-all;width:30%;">
+ <span id="users-<%= permission_key.parameterize -%>"><%= users(permission_key).map(&:name).join(', ') -%></span>
+ (<%= link_to_edit_roles_permission_form(message('select'), permission_key, nil, "select-users-#{permission_key}") -%>)<br/>
+ </td>
+ <td valign="top" style="word-break:break-all;width:30%;">
+ <span id="groups-<%= permission_key.parameterize -%>"><%= groups(permission_key).map { |g| group_name(g) }.join(', ') %></span>
+ (<%= link_to_edit_groups_permission_form(message('select'), permission_key, nil, "select-groups-#{permission_key}") -%>)<br/>
+ </td>
+ </tr>
<% end %>
- </tbody>
-</table>
+ </tbody>
+ </table>
+</div>
<script>require(['common/select-list']);</script>
<% end %>
-<h1 class="admin-page-title"><%= message 'roles.page' -%></h1>
-<p class="admin-page-description"><%= message('roles.page.description2') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message 'roles.page' -%></h1>
+ <p class="page-description"><%= message('roles.page.description2') -%></p>
+ </header>
-<%= render :partial => 'roles/tabs', :locals => {:selected_tab=>'Projects'} %>
+ <%= render :partial => 'roles/tabs', :locals => {:selected_tab => 'Projects'} %>
-<div class="tabs-panel marginbottom10 background-gray">
- <% form_tag({:action => 'projects'}, {:id => 'project-search-form', :method => 'get'}) do %>
- <div class="table">
- <div class="project-search top">
- <span class="note"><%= message('projects_role.criteria.name') -%></span><br/>
- <% selected_name = @query_result.query.names.to_a.first if @query_result.query.names && @query_result.query.names.size == 1 %>
- <%= text_field_tag 'names', selected_name, :id => 'search-text' %>
+ <div class="tabs-panel marginbottom10 background-gray">
+ <% form_tag({:action => 'projects'}, {:id => 'project-search-form', :method => 'get'}) do %>
+ <div class="table">
+ <div class="project-search top">
+ <span class="note"><%= message('projects_role.criteria.name') -%></span><br/>
+ <% selected_name = @query_result.query.names.to_a.first if @query_result.query.names && @query_result.query.names.size == 1 %>
+ <%= text_field_tag 'names', selected_name, :id => 'search-text' %>
+ </div>
+ <div class="project-search top">
+ <span class="note"><%= message('projects_role.criteria.key') -%></span><br/>
+ <% selected_key = @query_result.query.keys.to_a.first if @query_result.query.keys && @query_result.query.keys.size == 1 %>
+ <%= text_field_tag 'keys', selected_key, :id => 'search-key' %>
+ </div>
+ <div class="project-search top">
+ <span class="note"><%= message('type') -%></span><br/>
+ <% selected_qualifier = @query_result.query.qualifiers.to_a.first if @query_result.query.qualifiers && @query_result.query.qualifiers.size == 1 %>
+ <%= dropdown_tag 'qualifiers', options_for_select(@available_qualifiers, selected_qualifier), {
+ :width => '150px'
+ }, {:id => 'search-qualifier'} -%>
+ </div>
+ <div class="project-search">
+ <br/>
+ <%= submit_tag message('search_verb'), :id => 'submit-search', :onclick => 'submitSearch();' %>
+ </div>
</div>
- <div class="project-search top">
- <span class="note"><%= message('projects_role.criteria.key') -%></span><br/>
- <% selected_key = @query_result.query.keys.to_a.first if @query_result.query.keys && @query_result.query.keys.size == 1 %>
- <%= text_field_tag 'keys', selected_key, :id => 'search-key' %>
- </div>
- <div class="project-search top">
- <span class="note"><%= message('type') -%></span><br/>
- <% selected_qualifier = @query_result.query.qualifiers.to_a.first if @query_result.query.qualifiers && @query_result.query.qualifiers.size == 1 %>
- <%= dropdown_tag 'qualifiers', options_for_select(@available_qualifiers, selected_qualifier), {
- :width => '150px'
- }, {:id => 'search-qualifier'} -%>
- </div>
- <div class="project-search">
- <br/>
- <%= submit_tag message('search_verb'), :id => 'submit-search', :onclick => 'submitSearch();' %>
- </div>
- </div>
- <% end %>
-</div>
+ <% end %>
+ </div>
-<div id="project-roles-operations" style="float: right;">
- <div class="operations button-group">
- <%= link_to message('projects_role.bulk_change'), {:action => :apply_template_form, :names => @components_names,
- :keys => @components_keys, :qualifiers => @components_qualifiers,
- :results_count => @query_result.paging.total},
- :id => 'apply-template-modal', :class => 'open-modal link-action button' %>
+ <div id="project-roles-operations" style="float: right;">
+ <div class="operations button-group">
+ <%= link_to message('projects_role.bulk_change'), {:action => :apply_template_form, :names => @components_names,
+ :keys => @components_keys, :qualifiers => @components_qualifiers,
+ :results_count => @query_result.paging.total},
+ :id => 'apply-template-modal', :class => 'open-modal link-action button' %>
+ </div>
</div>
-</div>
-<table class="data width100" id="projects">
- <thead>
+ <table class="data width100" id="projects">
+ <thead>
<tr>
<th style="min-width: 10em"> </th>
<th>
</th>
<th> </th>
</tr>
- </thead>
+ </thead>
- <%= paginate_java(@query_result.paging, :colspan => 4, :id => 'project-roles-foot', :include_loading_icon => true) { |label, page_id|
+ <%= paginate_java(@query_result.paging, :colspan => 4, :id => 'project-roles-foot', :include_loading_icon => true) { |label, page_id|
link_to(label, params.merge({:pageIndex => page_id}))
}
- %>
+ %>
- <tbody>
- <% if @projects.empty? %>
- <tr class="even">
- <td colspan="5" align="left"><%= message('no_results') %></td>
- </tr>
- <% end
+ <tbody>
+ <% if @projects.empty? %>
+ <tr class="even">
+ <td colspan="5" align="left"><%= message('no_results') %></td>
+ </tr>
+ <% end
- @projects.each do |project|
- %>
- <tr class="<%= cycle('even', 'odd') -%>">
- <td valign="top"><b><%= h project.name %></b><br/>
- <span class="small gray"><%= h project.key -%></span>
- </td>
- <% ['user', 'admin', 'issueadmin', 'codeviewer'].each do |permission| -%>
- <td valign="top">
- <%
- users=Api::Utils.insensitive_sort(project.user_roles.select { |ur| ur.role==permission }.map { |ur| ur.user.name })
- groups=Api::Utils.insensitive_sort(project.group_roles.select { |gr| gr.role==permission }.map { |gr| group_name(gr.group) })
- %>
- <span id="u-<%= permission -%>-<%= u project.kee -%>"><%= users.join(', ') %></span>
- (<%= link_to_edit_roles_permission_form(message('select users'), permission, project.id, "select-u-#{permission}-#{u project.kee}") %>)<br/>
- <span id="g-<%= permission -%>-<%= u project.kee -%>"><%= groups.join(', ') %></span>
- (<%= link_to_edit_groups_permission_form(message('select groups'), permission, project.id, "select-g-#{permission}-#{u project.kee}") %>)<br/>
+ @projects.each do |project|
+ %>
+ <tr class="<%= cycle('even', 'odd') -%>">
+ <td valign="top"><b><%= h project.name %></b><br/>
+ <span class="small gray"><%= h project.key -%></span>
</td>
- <% end %>
- <td align="right">
- <%= link_to message('projects_role.apply_template'), {:action => :apply_template_form, :components => [project.key], :names => project.name,
- :results_count => 1, :qualifiers => @components_qualifiers},
- :id => "apply-template-#{u project.kee}", :class => 'open-modal link-action' %>
- </td>
- </tr>
- <%
- end %>
- </tbody>
-</table>
+ <% ['user', 'admin', 'issueadmin', 'codeviewer'].each do |permission| -%>
+ <td valign="top">
+ <%
+ users=Api::Utils.insensitive_sort(project.user_roles.select { |ur| ur.role==permission }.map { |ur| ur.user.name })
+ groups=Api::Utils.insensitive_sort(project.group_roles.select { |gr| gr.role==permission }.map { |gr| group_name(gr.group) })
+ %>
+ <span id="u-<%= permission -%>-<%= u project.kee -%>"><%= users.join(', ') %></span>
+ (<%= link_to_edit_roles_permission_form(message('select users'), permission, project.id, "select-u-#{permission}-#{u project.kee}") %>)<br/>
+ <span id="g-<%= permission -%>-<%= u project.kee -%>"><%= groups.join(', ') %></span>
+ (<%= link_to_edit_groups_permission_form(message('select groups'), permission, project.id, "select-g-#{permission}-#{u project.kee}") %>)<br/>
+ </td>
+ <% end %>
+ <td align="right">
+ <%= link_to message('projects_role.apply_template'), {:action => :apply_template_form, :components => [project.key], :names => project.name,
+ :results_count => 1, :qualifiers => @components_qualifiers},
+ :id => "apply-template-#{u project.kee}", :class => 'open-modal link-action' %>
+ </td>
+ </tr>
+ <%
+ end %>
+ </tbody>
+ </table>
+</div>
<script>
- function submitSearch() {
+ function submitSearch () {
$j("#project-search-form").submit();
}
<div id="plugins">
- <h1 class="admin-page-title""><%= message(@resource ? 'project_settings.page' : 'settings.page') -%></h1>
- <p class="admin-page-description"><%= message(@resource ? 'project_settings.page.description' : 'settings.page.description') -%> </p>
+ <header class="page-header">
+ <h1 class="page-title"><%= message(@resource ? 'project_settings.page' : 'settings.page') -%></h1>
+ <p class="page-description"><%= message(@resource ? 'project_settings.page.description' : 'settings.page.description') -%> </p>
+ </header>
+
<table width="100%">
<tr>
<td width="1%" nowrap class="column first">
-<div>
- <ul style="float: right" class="horizontal">
- <li class="csv marginleft10">
- <a href="<%= ApplicationController.root_context -%>/system/index?format=csv" id="download-link" class="action">Download</a>
- </li>
- </ul>
- <h1 class="admin-page-title"><%= message('system_info.page') -%></h1>
- <p class="admin-page-description"><%= message('system_info.page.description') -%></p>
-</div>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('system_info.page') -%></h1>
+ <div class="page-actions">
+ <div class="csv">
+ <a href="<%= ApplicationController.root_context -%>/system/index?format=csv" id="download-link">Download</a>
+ </div>
+ </div>
+ <p class="page-description"><%= message('system_info.page.description') -%></p>
+ </header>
-<table class="data width100" id="sonar">
-<thead>
- <tr>
- <th colspan="2"><h2>SonarQube Info</h2></th>
- </tr>
-</thead>
-<tbody>
- <% @server.sonar_info.each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'sonar' } %>
- <% end %>
-<tbody>
-</table>
+ <table class="data width100" id="sonar">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>SonarQube Info</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% @server.sonar_info.each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'sonar'} %>
+ <% end %>
+ <tbody>
+ </table>
-<br/>
+ <br/>
-<table class="data width100" id="plugins">
-<thead>
- <tr>
- <th colspan="2"><h2>SonarQube Plugins</h2></th>
- </tr>
-</thead>
-<tbody>
- <%
- user_plugins=@server.sonar_plugins
- if user_plugins.empty?
- %>
- <tr><td colspan="2" class="even">None</td></tr>
- <% else %>
- <% user_plugins.each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'plugins' } %>
+ <table class="data width100" id="plugins">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>SonarQube Plugins</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <%
+ user_plugins=@server.sonar_plugins
+ if user_plugins.empty?
+ %>
+ <tr>
+ <td colspan="2" class="even">None</td>
+ </tr>
+ <% else %>
+ <% user_plugins.each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'plugins'} %>
+ <% end %>
<% end %>
- <% end %>
-<tbody>
-</table>
+ <tbody>
+ </table>
-<br/>
+ <br/>
-<table class="data width100" id="system_info">
-<thead>
- <tr>
- <th colspan="2"><h2>System Info</h2></th>
- </tr>
-</thead>
-<tbody>
- <% @server.system_info.each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'system' } %>
- <% end %>
-<tbody>
-</table>
+ <table class="data width100" id="system_info">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>System Info</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% @server.system_info.each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'system'} %>
+ <% end %>
+ <tbody>
+ </table>
-<br/>
+ <br/>
-<table class="data width100" id="cluster_info">
-<thead>
- <tr>
- <th colspan="2"><h2>Search Info - Cluster</h2></th>
- </tr>
-</thead>
-<tbody>
- <% @server.cluster_info.each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'cluster' } %>
- <% end %>
-<tbody>
-</table>
+ <table class="data width100" id="cluster_info">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>Search Info - Cluster</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% @server.cluster_info.each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'cluster'} %>
+ <% end %>
+ <tbody>
+ </table>
-<br/>
+ <br/>
-<% @server.nodes_info.each do |node_info| -%>
-<table class="data width100" id="cluster_info<%= node_info[0][1] -%>">
-<thead>
- <tr>
- <th colspan="2"><h2>Search Info - <%= node_info[0][1] -%></h2></th>
- </tr>
-</thead>
-<tbody>
- <% node_info.drop(1).each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'node' } %>
- <% end %>
-<tbody>
-</table>
+ <% @server.nodes_info.each do |node_info| -%>
+ <table class="data width100" id="cluster_info<%= node_info[0][1] -%>">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>Search Info - <%= node_info[0][1] -%></h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% node_info.drop(1).each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'node'} %>
+ <% end %>
+ <tbody>
+ </table>
-<br/>
-<% end -%>
+ <br/>
+ <% end -%>
-<table class="data width100" id="memory">
-<thead>
- <tr>
- <th colspan="2"><h2>Java VM Statistics</h2></th>
- </tr>
-</thead>
-<tbody>
- <% @server.system_statistics.each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'memory' } %>
- <% end %>
-<tbody>
-</table>
+ <table class="data width100" id="memory">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>Java VM Statistics</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% @server.system_statistics.each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'memory'} %>
+ <% end %>
+ <tbody>
+ </table>
-<br/>
+ <br/>
-<table class="data width100" id="system_properties">
-<thead>
- <tr>
- <th colspan="2"><h2>System Properties</h2></th>
- </tr>
-</thead>
-<tbody>
- <% @server.system_properties.each do |data| %>
- <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'system_properties' } %>
- <% end %>
-<tbody>
-</table>
+ <table class="data width100" id="system_properties">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>System Properties</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% @server.system_properties.each do |data| %>
+ <%= render :partial => 'row', :locals => {:title => data[0], :value => data[1], :name => 'system_properties'} %>
+ <% end %>
+ <tbody>
+ </table>
+</div>
<script>
-function installPlugin(key) {
- /* check terms & conditions */
- var tc=$j('#tc-' + key);
- if (tc.length!=0 && !tc.prop('checked')) {
- alert('Please accept the Terms and Conditions');
+ function installPlugin (key) {
+ /* check terms & conditions */
+ var tc = $j('#tc-' + key);
+ if (tc.length != 0 && !tc.prop('checked')) {
+ alert('Please accept the Terms and Conditions');
+ return false;
+ }
+ $j('#install-form-' + key).submit();
+
+ var button = $j('#submit-' + key);
+ button.prop('disabled', 'true');
+ button.attr('value', 'Installing');
return false;
}
- $j('#install-form-' + key).submit();
-
- var button=$j('#submit-' + key);
- button.prop('disabled','true');
- button.attr('value', 'Installing');
- return false;
-}
</script>
-<h1 class="admin-page-title"><%= message('update_center.page') -%></h1>
-<p class="admin-page-description"><%= message('update_center.page.description') -%></p>
-<%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'available'} -%>
-<div class="tabs-panel">
-
-<%= render :partial => 'updatecenter/operations' -%>
-<% if @update_plugin_center %>
- <% @updates_by_category.keys.sort_by{|c| c.downcase }.each do |category|
- updates=@updates_by_category[category]
- %>
- <table class="data width100">
- <thead>
- <tr>
- <th colspan="2"><h2><%= category -%></h2></th>
- </tr>
- </thead>
- <tbody>
- <% updates.sort_by{|update| update.plugin.key}.each do |update|
- plugin = update.plugin
- release = update.release
- %>
- <tr class="<%= cycle('even','odd', :name => category) -%>" id="select-<%= plugin.getKey() -%>">
- <td width="150" nowrap>
- <b><a href="#plugin" onClick="showPlugin('<%= plugin.getKey() -%>');"><%= h(plugin.getName()) -%></a></b>
- </td>
- <td>
- <%= plugin.getDescription() %>
- <div id="detail-<%= plugin.getKey() -%>" style="display:none">
- <table class="spaced width100">
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('update_center.page') -%></h1>
+ <p class="page-description"><%= message('update_center.page.description') -%></p>
+ </header>
- <% index = 0 %>
- <% release.children.each do |child|
- child_plugin = child.artifact
- %>
- <tr>
- <% if index == 0 %>
- <td class="thin nowrap"><b>Includes:</b></td>
- <% else %>
- <td> </td>
- <% end %>
- <td><span><%= child_plugin.name -%></span> : <span><%= child_plugin.description -%></span></td>
- </tr>
- <% index = index + 1 %>
- <% end %>
+ <%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'available'} -%>
+ <div class="tabs-panel">
- <% release.outgoingDependencies.each_with_index do |outgoing_release, index| %>
- <tr>
- <% if index == 0 %>
- <td class="thin nowrap"><b>Installing this plugin will also install:</b></td>
- <% else %>
- <td> </td>
- <% end %>
- <td><span><%= outgoing_release.artifact.name -%></span> : <span><%= outgoing_release.artifact.description -%></span></td>
- </tr>
- <% end %>
+ <%= render :partial => 'updatecenter/operations' -%>
- <% if plugin.getLicense() %>
- <tr>
- <td class="thin nowrap"><b>License:</b> </td><td><%= h(plugin.getLicense()) %></td>
- </tr>
- <% end %>
- <% if plugin.getOrganization() %>
- <tr>
- <td class="thin nowrap"><b>Author:</b> </td><td><%= link_to_if plugin.getOrganizationUrl(), plugin.getOrganization(), plugin.getOrganizationUrl(), :class=>'external' %></td>
- </tr>
- <% end %>
- <% if !plugin.getHomepageUrl().blank? || !plugin.getIssueTrackerUrl().blank? %>
- <tr>
- <td class="thin nowrap"><b>Links:</b> </td>
+ <% if @update_plugin_center %>
+ <% @updates_by_category.keys.sort_by { |c| c.downcase }.each do |category|
+ updates=@updates_by_category[category]
+ %>
+ <table class="data width100">
+ <thead>
+ <tr>
+ <th colspan="2"><h2><%= category -%></h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% updates.sort_by { |update| update.plugin.key }.each do |update|
+ plugin = update.plugin
+ release = update.release
+ %>
+ <tr class="<%= cycle('even', 'odd', :name => category) -%>" id="select-<%= plugin.getKey() -%>">
+ <td width="150" nowrap>
+ <b><a href="#plugin" onClick="showPlugin('<%= plugin.getKey() -%>');"><%= h(plugin.getName()) -%></a></b>
+ </td>
<td>
- <%= link_to 'Homepage', plugin.getHomepageUrl(), :class=>'external' unless plugin.getHomepageUrl().blank? -%>
- <%= link_to 'Issue Tracker', plugin.getIssueTrackerUrl(), :class=>'external' unless plugin.getIssueTrackerUrl().blank? -%>
+ <%= plugin.getDescription() %>
+ <div id="detail-<%= plugin.getKey() -%>" style="display:none">
+ <table class="spaced width100">
+
+ <% index = 0 %>
+ <% release.children.each do |child|
+ child_plugin = child.artifact
+ %>
+ <tr>
+ <% if index == 0 %>
+ <td class="thin nowrap"><b>Includes:</b></td>
+ <% else %>
+ <td> </td>
+ <% end %>
+ <td><span><%= child_plugin.name -%></span> : <span><%= child_plugin.description -%></span></td>
+ </tr>
+ <% index = index + 1 %>
+ <% end %>
+
+ <% release.outgoingDependencies.each_with_index do |outgoing_release, index| %>
+ <tr>
+ <% if index == 0 %>
+ <td class="thin nowrap"><b>Installing this plugin will also install:</b></td>
+ <% else %>
+ <td> </td>
+ <% end %>
+ <td><span><%= outgoing_release.artifact.name -%></span> :
+ <span><%= outgoing_release.artifact.description -%></span></td>
+ </tr>
+ <% end %>
+
+ <% if plugin.getLicense() %>
+ <tr>
+ <td class="thin nowrap"><b>License:</b></td>
+ <td><%= h(plugin.getLicense()) %></td>
+ </tr>
+ <% end %>
+ <% if plugin.getOrganization() %>
+ <tr>
+ <td class="thin nowrap"><b>Author:</b></td>
+ <td><%= link_to_if plugin.getOrganizationUrl(), plugin.getOrganization(), plugin.getOrganizationUrl(), :class => 'external' %></td>
+ </tr>
+ <% end %>
+ <% if !plugin.getHomepageUrl().blank? || !plugin.getIssueTrackerUrl().blank? %>
+ <tr>
+ <td class="thin nowrap"><b>Links:</b></td>
+ <td>
+ <%= link_to 'Homepage', plugin.getHomepageUrl(), :class => 'external' unless plugin.getHomepageUrl().blank? -%>
+ <%= link_to 'Issue Tracker', plugin.getIssueTrackerUrl(), :class => 'external' unless plugin.getIssueTrackerUrl().blank? -%>
+ </td>
+ </tr>
+ <% end %>
+ <%
+ if update.isCompatible()
+ %>
+ <tr>
+ <% date=release_date(update.getRelease().getDate()) %>
+ <td class="thin nowrap"><b>Version:</b></td>
+ <td><%= update.getRelease().getVersion() -%> <%= "(#{date})" if date -%></td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <% if plugin.getTermsConditionsUrl() %>
+ <input type="checkbox" id="tc-<%= plugin.getKey() -%>"/> I accept the <%= link_to 'Terms and Conditions', plugin.getTermsConditionsUrl(), :class => 'external' %>
+ <% end %>
+ <form method="post" action="<%= ApplicationController.root_context -%>/updatecenter/install?from=available&key=<%= plugin.getKey() -%>&version=<%= update.getRelease().getVersion() -%>" style="display: inline-block" id="install-form-<%= plugin.getKey() -%>">
+ <input type="submit" value="Install" onClick="installPlugin('<%= plugin.getKey() -%>');return false;" id="submit-<%= plugin.getKey() -%>"/>
+ </form>
+ </td>
+ </tr>
+ <% elsif update.requiresSonarUpgrade
+ %>
+ <tr>
+ <td class="thin nowrap"><b>Last version:</b></td>
+ <td><%= update.getRelease().getVersion() -%> (<%= image_tag 'warning.png' -%> Not compatible, requires SonarQube upgrade)</td>
+ </tr>
+ <% elsif update.requiresSonarUpgradeForDependencies
+ %>
+ <tr>
+ <td class="thin nowrap"><b>Last version:</b></td>
+ <td><%= update.getRelease().getVersion() -%> (<%= image_tag 'warning.png' -%> Not compatible, some dependencies requires SonarQube upgrade)</td>
+ </tr>
+ <%
+ end
+ %>
+ </table>
+ </div>
</td>
</tr>
- <% end %>
- <%
- if update.isCompatible()
- %>
- <tr>
- <% date=release_date(update.getRelease().getDate()) %>
- <td class="thin nowrap"><b>Version:</b> </td>
- <td><%= update.getRelease().getVersion() -%> <%= "(#{date})" if date -%></td>
- </tr>
- <tr>
- <td colspan="2">
- <% if plugin.getTermsConditionsUrl() %>
- <input type="checkbox" id="tc-<%= plugin.getKey() -%>"/> I accept the <%= link_to 'Terms and Conditions', plugin.getTermsConditionsUrl(), :class => 'external' %>
- <% end %>
- <form method="post" action="<%= ApplicationController.root_context -%>/updatecenter/install?from=available&key=<%= plugin.getKey() -%>&version=<%= update.getRelease().getVersion() -%>" style="display: inline-block" id="install-form-<%= plugin.getKey() -%>">
- <input type="submit" value="Install" onClick="installPlugin('<%= plugin.getKey() -%>');return false;" id="submit-<%= plugin.getKey() -%>"/>
- </form>
- </td>
- </tr>
- <% elsif update.requiresSonarUpgrade
- %>
- <tr>
- <td class="thin nowrap"><b>Last version:</b> </td>
- <td><%= update.getRelease().getVersion() -%> (<%= image_tag 'warning.png' -%> Not compatible, requires SonarQube upgrade)</td>
- </tr>
- <% elsif update.requiresSonarUpgradeForDependencies
- %>
- <tr>
- <td class="thin nowrap"><b>Last version:</b> </td>
- <td><%= update.getRelease().getVersion() -%> (<%= image_tag 'warning.png' -%> Not compatible, some dependencies requires SonarQube upgrade)</td>
- </tr>
- <%
- end
- %>
- </table>
- </div>
- </td>
- </tr>
+ <% end %>
+ </tbody>
+ </table>
+ <div class="break30"></div>
+ <% end %>
<% end %>
- </tbody>
- </table>
- <div class="break30"> </div>
- <% end %>
-<% end %>
-<%= render :partial => 'updatecenter/status', :locals => {:action => 'available' } %>
+ <%= render :partial => 'updatecenter/status', :locals => {:action => 'available'} %>
+ </div>
</div>
-<h1 class="admin-page-title"><%= message('update_center.page') -%></h1>
-<p class="admin-page-description"><%= message('update_center.page.description') -%></p>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('update_center.page') -%></h1>
+ <p class="page-description"><%= message('update_center.page.description') -%></p>
+ </header>
- <%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'index'} -%>
+ <%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'index'} -%>
- <div class="tabs-panel">
+ <div class="tabs-panel">
- <%= render :partial => 'updatecenter/operations' -%>
+ <%= render :partial => 'updatecenter/operations' -%>
- <table class="data width100" id="user-plugins">
- <thead>
- <tr><th colspan="3"><h2>Plugins</h2></th></tr>
- <tr>
- <th>Plugin</th>
- <th>Version</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <% if @plugins.empty? %>
- <tr class="even"><td colspan="5">No plugins</td></tr>
- <% else
- @plugins.each do |plugin|
- release = plugin.lastRelease
- %>
- <tr class="select <%= cycle('even', 'odd', :name => 'user') -%>" id="select_<%= plugin.getKey() -%>">
- <td width="1%" class="nowrap"><b><a href="#plugin" onclick="showPlugin('<%= plugin.getKey() -%>')"><%= h(plugin.getName()) -%></a></b> <span class="note">[<%= h plugin.getKey() -%>]</span></td>
- <td class="nowrap"><%= release.getVersion() || '-' -%></td>
- <td>
- <%= plugin.getDescription() -%>
- <div id="detail-<%= plugin.getKey() -%>" style="display:none">
+ <table class="data width100" id="user-plugins">
+ <thead>
+ <tr>
+ <th colspan="3"><h2>Plugins</h2></th>
+ </tr>
+ <tr>
+ <th>Plugin</th>
+ <th>Version</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <% if @plugins.empty? %>
+ <tr class="even">
+ <td colspan="5">No plugins</td>
+ </tr>
+ <% else
+ @plugins.each do |plugin|
+ release = plugin.lastRelease
+ %>
+ <tr class="select <%= cycle('even', 'odd', :name => 'user') -%>" id="select_<%= plugin.getKey() -%>">
+ <td width="1%" class="nowrap">
+ <b><a href="#plugin" onclick="showPlugin('<%= plugin.getKey() -%>')"><%= h(plugin.getName()) -%></a></b>
+ <span class="note">[<%= h plugin.getKey() -%>]</span></td>
+ <td class="nowrap"><%= release.getVersion() || '-' -%></td>
+ <td>
+ <%= plugin.getDescription() -%>
+ <div id="detail-<%= plugin.getKey() -%>" style="display:none">
- <table class="spaced width100">
+ <table class="spaced width100">
- <% index = 0 %>
- <% release.children.each do |child|
- child_plugin = @installed_plugin_referential.findPlugin(child.key)
- %>
- <tr>
- <% if index == 0 %>
- <td class="thin nowrap"><b>Includes:</b></td>
- <% else %>
- <td> </td>
- <% end %>
- <td><span><%= child_plugin.name -%></span> : <span><%= child_plugin.description -%></span></td>
- </tr>
- <% index = index + 1 %>
- <% end %>
+ <% index = 0 %>
+ <% release.children.each do |child|
+ child_plugin = @installed_plugin_referential.findPlugin(child.key)
+ %>
+ <tr>
+ <% if index == 0 %>
+ <td class="thin nowrap"><b>Includes:</b></td>
+ <% else %>
+ <td> </td>
+ <% end %>
+ <td><span><%= child_plugin.name -%></span> : <span><%= child_plugin.description -%></span></td>
+ </tr>
+ <% index = index + 1 %>
+ <% end %>
- <% release.outgoingDependencies.each_with_index do |outgoing_release, index| %>
- <tr>
- <% if index == 0 %>
- <td class="thin nowrap"><b>Depends upon:</b></td>
- <% else %>
- <td> </td>
- <% end %>
- <td><span><%= outgoing_release.artifact.name -%></span> : <span><%= outgoing_release.artifact.description -%></span></td>
- </tr>
- <% end %>
+ <% release.outgoingDependencies.each_with_index do |outgoing_release, index| %>
+ <tr>
+ <% if index == 0 %>
+ <td class="thin nowrap"><b>Depends upon:</b></td>
+ <% else %>
+ <td> </td>
+ <% end %>
+ <td><span><%= outgoing_release.artifact.name -%></span> :
+ <span><%= outgoing_release.artifact.description -%></span></td>
+ </tr>
+ <% end %>
- <% release.incomingDependencies.each_with_index do |incoming_release, index| %>
- <tr>
- <% if index == 0 %>
- <td class="thin nowrap"><b>Uninstalling this plugin will also uninstall:</b></td>
- <% else %>
- <td> </td>
- <% end %>
- <td><span><%= incoming_release.artifact.name -%></span> : <span><%= incoming_release.artifact.description -%></span></td>
- </tr>
- <% end %>
+ <% release.incomingDependencies.each_with_index do |incoming_release, index| %>
+ <tr>
+ <% if index == 0 %>
+ <td class="thin nowrap"><b>Uninstalling this plugin will also uninstall:</b></td>
+ <% else %>
+ <td> </td>
+ <% end %>
+ <td><span><%= incoming_release.artifact.name -%></span> :
+ <span><%= incoming_release.artifact.description -%></span></td>
+ </tr>
+ <% end %>
- <% if plugin.getLicense() %><tr><td class="thin nowrap"><b>License:</b> </td><td><%= plugin.getLicense() -%></td></tr><% end %>
- <% if plugin.getOrganization() %>
- <tr><td class="thin nowrap"><b>Author:</b> </td>
- <td><%= link_to_if plugin.getOrganizationUrl(), plugin.getOrganization(), plugin.getOrganizationUrl(), :class=>'external' -%></td>
- </tr>
- <% end %>
- <% if !plugin.getHomepageUrl().blank? || !plugin.getIssueTrackerUrl().blank? %>
- <tr>
- <td class="thin nowrap"><b>Links:</b> </td>
- <td>
- <%= link_to 'Homepage', plugin.getHomepageUrl(), :class=>'external' unless plugin.getHomepageUrl().blank? -%>
- <%= link_to 'Issue Tracker', plugin.getIssueTrackerUrl(), :class=>'external' unless plugin.getIssueTrackerUrl().blank? -%>
- </td>
- </tr>
- <% end %>
- <tr>
- <td colspan="2">
- <form method="post" action="<%= ApplicationController.root_context -%>/updatecenter/uninstall?key=<%= plugin.getKey() -%>" style="display: inline-block">
- <input type="submit" value="Uninstall" class="red-button" id="uninstall-<%= plugin.getKey() -%>"/>
- </form>
- </td>
- </tr>
- </table>
- </div>
- </td>
- </tr>
- <% end %>
- <% end %>
- </tbody>
- </table>
-
- </div>
+ <% if plugin.getLicense() %>
+ <tr>
+ <td class="thin nowrap"><b>License:</b></td>
+ <td><%= plugin.getLicense() -%></td>
+ </tr>
+ <% end %>
+ <% if plugin.getOrganization() %>
+ <tr>
+ <td class="thin nowrap"><b>Author:</b></td>
+ <td><%= link_to_if plugin.getOrganizationUrl(), plugin.getOrganization(), plugin.getOrganizationUrl(), :class => 'external' -%></td>
+ </tr>
+ <% end %>
+ <% if !plugin.getHomepageUrl().blank? || !plugin.getIssueTrackerUrl().blank? %>
+ <tr>
+ <td class="thin nowrap"><b>Links:</b></td>
+ <td>
+ <%= link_to 'Homepage', plugin.getHomepageUrl(), :class => 'external' unless plugin.getHomepageUrl().blank? -%>
+ <%= link_to 'Issue Tracker', plugin.getIssueTrackerUrl(), :class => 'external' unless plugin.getIssueTrackerUrl().blank? -%>
+ </td>
+ </tr>
+ <% end %>
+ <tr>
+ <td colspan="2">
+ <form method="post" action="<%= ApplicationController.root_context -%>/updatecenter/uninstall?key=<%= plugin.getKey() -%>" style="display: inline-block">
+ <input type="submit" value="Uninstall" class="red-button" id="uninstall-<%= plugin.getKey() -%>"/>
+ </form>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </td>
+ </tr>
+ <% end %>
+ <% end %>
+ </tbody>
+ </table>
+ </div>
+</div>
}
</style>
<script>
- function submitForm(elt) {
+ function submitForm (elt) {
elt.submit();
elt.disable();
return false;
}
</script>
-<h1 class="admin-page-title"><%= message('update_center.page') -%></h1>
-<p class="admin-page-description"><%= message('update_center.page.description') -%></p>
-<%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'system_updates'} -%>
-<div class="tabs-panel">
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('update_center.page') -%></h1>
+ <p class="page-description"><%= message('update_center.page.description') -%></p>
+ </header>
- <%= render :partial => 'updatecenter/operations' -%>
+ <%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'system_updates'} -%>
- <% if @update_plugin_center %>
- <% if @sonar_updates.empty? %>
- <table class="data width100 marginbottom10">
- <thead>
- <tr>
- <td></td>
- </tr>
- </thead>
- <tbody>
- <tr class="even">
- <td>System is up to date.</td>
- </tr>
- </tbody>
- </table>
- <% else %>
+ <div class="tabs-panel">
- <% @sonar_updates.to_a.reverse.each do |update|
- release=update.getRelease()
- %>
- <table class="data width100" id="sonar-<%= release.getVersion() -%>">
+ <%= render :partial => 'updatecenter/operations' -%>
+
+ <% if @update_plugin_center %>
+ <% if @sonar_updates.empty? %>
+ <table class="data width100 marginbottom10">
<thead>
<tr>
- <th><h2>SonarQube <%= release.getVersion() -%></h2></th>
+ <td></td>
</tr>
</thead>
<tbody>
<tr class="even">
- <td>
- <table class="width100 spaced">
- <tbody style="vertical-align: top">
- <tr>
- <td class="thin nowrap"><b>Date: </b></td>
- <td class="sep"></td>
- <td><%= release_date(release.getDate()) if release.getDate() -%></td>
- </tr>
- <tr>
- <td class="thin nowrap">
- <b><%= link_to_if release.getChangelogUrl(), 'Release Notes', release.getChangelogUrl(), :class => 'external' %>
- : </b></td>
- <td class="sep"></td>
- <td><%= release.getDescription() -%></td>
- </tr>
- <tr>
- <td class="thin nowrap" valign="top"><b>How to upgrade: </b></td>
- <td class="sep"></td>
- <td>
- <% if update.hasWarnings() %>
- Follow those steps to upgrade SonarQube from version <%= sonar_version -%> to
- version <%= release.getVersion() -%> :
- <ol class="bulletpoints">
- <li>Stop SonarQube</li>
- <li><%= link_to 'Download', release.getDownloadUrl(), :class => 'external' -%> and install
- SonarQube <%= release.getVersion() -%> after having carefully read the <a href="http://redirect.sonarsource.com/doc/upgrading.html" class="external">upgrade guide</a>.
- </li>
- <% update.getIncompatiblePlugins().each do |incompatible_plugin| %>
- <li>
- Uninstall the plugin <%= incompatible_plugin.getName() -%> which is not compatible with
- SonarQube <%= release.getVersion() -%>.
- </form>
- </li>
- <% end %>
- <% update.getPluginsToUpgrade().each do |plugin_to_upgrade| %>
- <li>
- Replace current version of plugin <%= plugin_to_upgrade.getArtifact().getName() -%> by
- version <%= plugin_to_upgrade.getVersion() -%>
- </form>
- </li>
- <% end %>
- <li>Start SonarQube</li>
- </ol>
-
- <% else %>
- <%= link_to 'Download', release.getDownloadUrl(), :class => 'external' -%> and install
- SonarQube <%= release.getVersion() -%> after having carefully read the <a href="http://redirect.sonarsource.com/doc/upgrading.html" class="external">upgrade guide</a>.
- <% end %>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
+ <td>System is up to date.</td>
</tr>
</tbody>
</table>
- <div class="break30"></div>
- <% end
- end
- end %>
+ <% else %>
+
+ <% @sonar_updates.to_a.reverse.each do |update|
+ release=update.getRelease()
+ %>
+ <table class="data width100" id="sonar-<%= release.getVersion() -%>">
+ <thead>
+ <tr>
+ <th><h2>SonarQube <%= release.getVersion() -%></h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="even">
+ <td>
+ <table class="width100 spaced">
+ <tbody style="vertical-align: top">
+ <tr>
+ <td class="thin nowrap"><b>Date: </b></td>
+ <td class="sep"></td>
+ <td><%= release_date(release.getDate()) if release.getDate() -%></td>
+ </tr>
+ <tr>
+ <td class="thin nowrap">
+ <b><%= link_to_if release.getChangelogUrl(), 'Release Notes', release.getChangelogUrl(), :class => 'external' %>
+ : </b></td>
+ <td class="sep"></td>
+ <td><%= release.getDescription() -%></td>
+ </tr>
+ <tr>
+ <td class="thin nowrap" valign="top"><b>How to upgrade: </b></td>
+ <td class="sep"></td>
+ <td>
+ <% if update.hasWarnings() %>
+ Follow those steps to upgrade SonarQube from version <%= sonar_version -%> to
+ version <%= release.getVersion() -%> :
+ <ol class="bulletpoints">
+ <li>Stop SonarQube</li>
+ <li><%= link_to 'Download', release.getDownloadUrl(), :class => 'external' -%> and install
+ SonarQube <%= release.getVersion() -%> after having carefully read the
+ <a href="http://redirect.sonarsource.com/doc/upgrading.html" class="external">upgrade guide</a>.
+ </li>
+ <% update.getIncompatiblePlugins().each do |incompatible_plugin| %>
+ <li>
+ Uninstall the plugin <%= incompatible_plugin.getName() -%> which is not compatible with
+ SonarQube <%= release.getVersion() -%>.
+ </form>
+ </li>
+ <% end %>
+ <% update.getPluginsToUpgrade().each do |plugin_to_upgrade| %>
+ <li>
+ Replace current version of plugin <%= plugin_to_upgrade.getArtifact().getName() -%> by
+ version <%= plugin_to_upgrade.getVersion() -%>
+ </form>
+ </li>
+ <% end %>
+ <li>Start SonarQube</li>
+ </ol>
+
+ <% else %>
+ <%= link_to 'Download', release.getDownloadUrl(), :class => 'external' -%> and install
+ SonarQube <%= release.getVersion() -%> after having carefully read the
+ <a href="http://redirect.sonarsource.com/doc/upgrading.html" class="external">upgrade guide</a>.
+ <% end %>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <div class="break30"></div>
+ <% end
+ end
+ end %>
- <%= render :partial => 'updatecenter/status', :locals => {:action => 'system_updates'} %>
+ <%= render :partial => 'updatecenter/status', :locals => {:action => 'system_updates'} %>
+ </div>
</div>
- <script>
-function upgradePlugin(key) {
- $j('#upgrade-form-' + key).submit();
- var button=$j('#upgrade-submit-' + key);
- button.prop('disabled','true');
- button.attr('value', 'Upgrading');
- return false;
-}
+<script>
+ function upgradePlugin (key) {
+ $j('#upgrade-form-' + key).submit();
+ var button = $j('#upgrade-submit-' + key);
+ button.prop('disabled', 'true');
+ button.attr('value', 'Upgrading');
+ return false;
+ }
</script>
-<h1 class="admin-page-title"><%= message('update_center.page') -%></h1>
-<p class="admin-page-description"><%= message('update_center.page.description') -%></p>
-<%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'updates'} -%>
- <div class="tabs-panel">
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('update_center.page') -%></h1>
+ <p class="page-description"><%= message('update_center.page.description') -%></p>
+ </header>
- <%= render :partial => 'updatecenter/operations' -%>
+ <%= render :partial => 'updatecenter/tabs', :locals => {:tab => 'updates'} -%>
- <% if @update_plugin_center %>
- <table class="data width100 marginbottom10" id="plugin-updates">
- <thead>
- <tr><th colspan="2"><h2>Plugins</h2></th></tr>
- </thead>
- <tbody>
- <% if @updates_by_plugin.empty? %>
- <tr class="even">
- <td colspan="2">All of your plugins are up to date.</td>
- </tr>
- <% end %>
- <% @updates_by_plugin.keys.each do |plugin|
- css=cycle('even','odd', :name => 'user-plugins')
- updates=@updates_by_plugin[plugin]
- updates.each_with_index do |update, index|
- release=update.release
- %>
- <tr class="<%= css -%>" id="select-<%= plugin.getKey() -%>">
- <td width="1%" nowrap><% if index==0 %><b><%= h(plugin.getName()) -%></b> <%= @installed_plugins[plugin.getKey()] -%> -> <% end %></td>
- <td width="1%" nowrap><b><%= release.getVersion() -%></b></td>
- <td width="1%" nowrap><%= release_date(release.getDate()) if release.getDate() -%></td>
- <td><%= release.getDescription() -%></td>
- <td><%= link_to 'Release Notes', release.getChangelogUrl(), :class => 'external' if release.getChangelogUrl() %></td>
- <td>
- <% if update.isIncompatible() %>
- <%= image_tag 'warning.png' -%> Incompatible
- <% elsif update.requiresSonarUpgrade %>
- <%= image_tag 'warning.png' -%> <%= h(plugin.getName()) -%> <%=release.getVersion()-%> is not compatible with SonarQube <%= @sonar_version -%>.
- You need to upgrade to SonarQube <%= release.getMinimumRequiredSonarVersion() -%> to perform the plugin upgrade.
- <% elsif update.requiresSonarUpgradeForDependencies %>
- <%= image_tag 'warning.png' -%> Incompatible, some dependencies requires SonarQube upgrade
- <% end %>
- </td>
- </tr>
- <%
- end
- %>
+ <div class="tabs-panel">
- <% if @last_compatible[plugin.getKey()] %>
- <%
- version = @last_compatible[plugin.getKey()]
- dependencies = @updates_by_plugin[plugin].last.dependencies.select {|dependency| dependency.master}
- dependencies.each_with_index do |dependency, index| %>
- <tr class="<%= css -%> dep-<%= plugin.getKey() -%>">
- <td> </td>
- <td> </td>
- <% if index == 0 %>
- <td class="thin nowrap"><b>Updating this plugin will also update:</b></td>
- <% else %>
- <td > </td>
- <% end %>
- <td colspan="4">
- <span><%= dependency.artifact.name -%></span> : <span><%= dependency.artifact.description -%></span>
- </td>
- </tr>
- <% end %>
+ <%= render :partial => 'updatecenter/operations' -%>
- <tr class="<%= css -%>">
- <td> </td>
- <td colspan="5">
- <form method="post" id="upgrade-form-<%= plugin.getKey() -%>" action="<%= ApplicationController.root_context -%>/updatecenter/install?from=updates&key=<%= plugin.getKey() -%>&version=<%= version -%>" style="display: inline-block">
- <input type="submit" id="upgrade-submit-<%= plugin.getKey() -%>" value="Upgrade to <%= @last_compatible[plugin.getKey()] -%>" onClick="upgradePlugin('<%= plugin.getKey() -%>');return false;"/>
- </form>
- </td>
+ <% if @update_plugin_center %>
+ <table class="data width100 marginbottom10" id="plugin-updates">
+ <thead>
+ <tr>
+ <th colspan="2"><h2>Plugins</h2></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% if @updates_by_plugin.empty? %>
+ <tr class="even">
+ <td colspan="2">All of your plugins are up to date.</td>
</tr>
<% end %>
+ <% @updates_by_plugin.keys.each do |plugin|
+ css=cycle('even', 'odd', :name => 'user-plugins')
+ updates=@updates_by_plugin[plugin]
+ updates.each_with_index do |update, index|
+ release=update.release
+ %>
+ <tr class="<%= css -%>" id="select-<%= plugin.getKey() -%>">
+ <td width="1%" nowrap>
+ <% if index==0 %><b><%= h(plugin.getName()) -%></b> <%= @installed_plugins[plugin.getKey()] -%> ->
+ <% end %></td>
+ <td width="1%" nowrap><b><%= release.getVersion() -%></b></td>
+ <td width="1%" nowrap><%= release_date(release.getDate()) if release.getDate() -%></td>
+ <td><%= release.getDescription() -%></td>
+ <td><%= link_to 'Release Notes', release.getChangelogUrl(), :class => 'external' if release.getChangelogUrl() %></td>
+ <td>
+ <% if update.isIncompatible() %>
+ <%= image_tag 'warning.png' -%> Incompatible
+ <% elsif update.requiresSonarUpgrade %>
+ <%= image_tag 'warning.png' -%> <%= h(plugin.getName()) -%> <%= release.getVersion() -%> is not compatible with SonarQube <%= @sonar_version -%>.
+ You need to upgrade to SonarQube <%= release.getMinimumRequiredSonarVersion() -%> to perform the plugin upgrade.
+ <% elsif update.requiresSonarUpgradeForDependencies %>
+ <%= image_tag 'warning.png' -%> Incompatible, some dependencies requires SonarQube upgrade
+ <% end %>
+ </td>
+ </tr>
+ <%
+ end
+ %>
+
+ <% if @last_compatible[plugin.getKey()] %>
+ <%
+ version = @last_compatible[plugin.getKey()]
+ dependencies = @updates_by_plugin[plugin].last.dependencies.select { |dependency| dependency.master }
+ dependencies.each_with_index do |dependency, index| %>
+ <tr class="<%= css -%> dep-<%= plugin.getKey() -%>">
+ <td></td>
+ <td></td>
+ <% if index == 0 %>
+ <td class="thin nowrap"><b>Updating this plugin will also update:</b></td>
+ <% else %>
+ <td> </td>
+ <% end %>
+ <td colspan="4">
+ <span><%= dependency.artifact.name -%></span> : <span><%= dependency.artifact.description -%></span>
+ </td>
+ </tr>
+ <% end %>
+
+ <tr class="<%= css -%>">
+ <td></td>
+ <td colspan="5">
+ <form method="post" id="upgrade-form-<%= plugin.getKey() -%>" action="<%= ApplicationController.root_context -%>/updatecenter/install?from=updates&key=<%= plugin.getKey() -%>&version=<%= version -%>" style="display: inline-block">
+ <input type="submit" id="upgrade-submit-<%= plugin.getKey() -%>" value="Upgrade to <%= @last_compatible[plugin.getKey()] -%>" onClick="upgradePlugin('<%= plugin.getKey() -%>');return false;"/>
+ </form>
+ </td>
+ </tr>
+ <% end %>
- <%
- end
- %>
- </tbody>
- </table>
+ <%
+ end
+ %>
+ </tbody>
+ </table>
- <% end %>
- <%= render :partial => 'updatecenter/status', :locals => {:action => 'updates' } %>
- </div>
+ <% end %>
+ <%= render :partial => 'updatecenter/status', :locals => {:action => 'updates'} %>
+ </div>
+</div>
<script>require(['common/select-list']);</script>
<% end %>
-<div>
- <% if profiles_administrator? %>
- <ul style="float: right" class="horizontal">
- <li class="marginleft10 add">
- <a id="create-link-user" href="<%= ApplicationController.root_context -%>/users/create_form" id="create-link-user" class="open-modal link-action">Add new user</a>
- </li>
- </ul>
- <% end %>
- <h1 class="admin-page-title"><%= message('users.page') -%></h1>
+<div class="page">
+ <header class="page-header">
+ <h1 class="page-title"><%= message('users.page') -%></h1>
+ <% if profiles_administrator? %>
+ <div class="page-actions">
+ <a id="create-link-user" href="<%= ApplicationController.root_context -%>/users/create_form" class="open-modal">
+ Add new user
+ </a>
+ </div>
+ <% end %>
+ <p class="page-description"><%= message('users.page.description') -%> </p>
+ </header>
- <p class="admin-page-description"><%= message('users.page.description') -%> </p>
-</div>
-
-<table width="100%">
- <tr>
- <td valign="top">
- <table class="data width100 sortable" id="users">
- <thead>
- <tr>
- <th class="left"><a>Login</a></th>
- <th class="left sortfirstasc"><a>Name</a></th>
- <th class="left"><a>Email</a></th>
- <th class="left nosort"><a>Groups</a></th>
- <th class="right nosort" nowrap><a>Operations</a></th>
- </tr>
- </thead>
- <tbody>
- <% @users.each do |user| %>
- <tr id="user-<%= user.login.parameterize -%>">
- <td class="left" valign="top"><%= h user.login -%></td>
- <td class="left" valign="top"><%= h user.name -%></td>
- <td class="left" valign="top"><%= h user.email -%></td>
- <td class="left" valign="top">
- <%= h user.groups.sort.map(&:name).join(', ') %>
- (<%= link_to "select", {:action => 'select_group', :id => user.id}, {:id => "select-#{user.login.parameterize}", :class => 'open-modal link-action'} %>)
- </td>
- <td class="right" valign="top">
- <a id="edit-<%= user.login -%>" class="open-modal link-action" href="<%= ApplicationController.root_context -%>/users/edit_form/<%= u user.login -%>">Edit</a>
-
- <%= link_to 'Change password', {:id => user.id, :action => 'change_password_form'}, {:id => "change-password-#{user.login.parameterize}", :class => 'open-modal link-action'} -%>
-
- <%= link_to_action message('delete'), "#{ApplicationController.root_context}/users/delete/#{user.id}",
- :class => 'link-action link-red',
- :id => "delete-#{user.login}",
- :confirm_button => message('delete'),
- :confirm_title => 'Delete user: '+user.login,
- :confirm_msg => 'Warning : are you sure to delete the user "' + user.name+'"?',
- :confirm_msg_params => [user.name]
- -%>
- </td>
+ <table width="100%">
+ <tr>
+ <td valign="top">
+ <table class="data width100 sortable" id="users">
+ <thead>
+ <tr>
+ <th class="left"><a>Login</a></th>
+ <th class="left sortfirstasc"><a>Name</a></th>
+ <th class="left"><a>Email</a></th>
+ <th class="left nosort"><a>Groups</a></th>
+ <th class="right nosort" nowrap><a>Operations</a></th>
</tr>
- <% end %>
- </tbody>
- </table>
- <script>jQuery('#users').sortable();</script>
- </td>
- </tr>
-</table>
+ </thead>
+ <tbody>
+ <% @users.each do |user| %>
+ <tr id="user-<%= user.login.parameterize -%>">
+ <td class="left" valign="top"><%= h user.login -%></td>
+ <td class="left" valign="top"><%= h user.name -%></td>
+ <td class="left" valign="top"><%= h user.email -%></td>
+ <td class="left" valign="top">
+ <%= h user.groups.sort.map(&:name).join(', ') %>
+ (<%= link_to "select", {:action => 'select_group', :id => user.id}, {:id => "select-#{user.login.parameterize}", :class => 'open-modal link-action'} %>)
+ </td>
+ <td class="right" valign="top">
+ <a id="edit-<%= user.login -%>" class="open-modal link-action" href="<%= ApplicationController.root_context -%>/users/edit_form/<%= u user.login -%>">Edit</a>
+
+ <%= link_to 'Change password', {:id => user.id, :action => 'change_password_form'}, {:id => "change-password-#{user.login.parameterize}", :class => 'open-modal link-action'} -%>
+
+ <%= link_to_action message('delete'), "#{ApplicationController.root_context}/users/delete/#{user.id}",
+ :class => 'link-action link-red',
+ :id => "delete-#{user.login}",
+ :confirm_button => message('delete'),
+ :confirm_title => 'Delete user: '+user.login,
+ :confirm_msg => 'Warning : are you sure to delete the user "' + user.name+'"?',
+ :confirm_msg_params => [user.name]
+ -%>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+ <script>jQuery('#users').sortable();</script>
+ </td>
+ </tr>
+ </table>
+</div>