mirror of
https://github.com/SonarSource/sonarqube.git
synced 2024-08-05 08:17:19 +02:00
SONAR-6661 drop the old update center
This commit is contained in:
parent
abbf2867a2
commit
04925ce87b
@ -2,53 +2,53 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<title>installed-plugins</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<title>installed-plugins</title>
|
||||
</head>
|
||||
<body>
|
||||
<table cellpadding="1" cellspacing="1" border="1">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/sonar/sessions/logout</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/sonar/settings</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>id=login</td>
|
||||
<td>admin</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>id=password</td>
|
||||
<td>admin</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>name=commit</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/sonar/updatecenter</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertText</td>
|
||||
<td>content</td>
|
||||
<td>*Installed Plugins*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertText</td>
|
||||
<td>user-plugins</td>
|
||||
<td>*Plugins :: Fake*1.0-SNAPSHOT*</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/sonar/sessions/logout</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/sonar/settings</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>id=login</td>
|
||||
<td>admin</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>id=password</td>
|
||||
<td>admin</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clickAndWait</td>
|
||||
<td>name=commit</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/sonar/updatecenter</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>waitForText</td>
|
||||
<td>content</td>
|
||||
<td>*Fake*</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>assertText</td>
|
||||
<td>id=update-center-plugins</td>
|
||||
<td>*Fake*1.0-SNAPSHOT*</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -82,9 +82,5 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li {{#isActiveLink '/updatecenter_new'}}class="active"{{/isActiveLink}}>
|
||||
<a href="{{link '/updatecenter_new'}}"><span class="text-info">New</span> Update Center</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -21,132 +21,24 @@ class UpdatecenterController < ApplicationController
|
||||
|
||||
SECTION=Navigation::SECTION_CONFIGURATION
|
||||
before_filter :admin_required
|
||||
before_filter :updatecenter_activated
|
||||
|
||||
verify :method => :post, :only => [:cancel, :install], :redirect_to => {:action => :index}
|
||||
|
||||
def index
|
||||
@uninstalls=java_facade.getPluginUninstalls()
|
||||
@downloads=java_facade.getPluginDownloads()
|
||||
|
||||
load_plugin_center
|
||||
@plugins = installed_plugins
|
||||
end
|
||||
|
||||
def available
|
||||
@uninstalls=java_facade.getPluginUninstalls()
|
||||
@downloads=java_facade.getPluginDownloads()
|
||||
@update_plugin_center=nil
|
||||
@updates_by_category={}
|
||||
|
||||
load_plugin_center()
|
||||
if @update_plugin_center
|
||||
@update_plugin_center.findAvailablePlugins().each do |update|
|
||||
already_download = update.plugin.releases.find {|release| @downloads.include? release.filename }
|
||||
if !already_download
|
||||
category = update.plugin.category||''
|
||||
@updates_by_category[category]||=[]
|
||||
@updates_by_category[category]<<update
|
||||
end
|
||||
end
|
||||
end
|
||||
def installed
|
||||
render :action => 'index'
|
||||
end
|
||||
|
||||
def updates
|
||||
@uninstalls=java_facade.getPluginUninstalls()
|
||||
@downloads=java_facade.getPluginDownloads()
|
||||
|
||||
@update_plugin_center=nil
|
||||
@updates_by_plugin={}
|
||||
@installed_plugins={}
|
||||
@last_compatible={}
|
||||
|
||||
load_plugin_center()
|
||||
if @update_plugin_center
|
||||
@sonar_version = org.sonar.server.platform.Platform.getServer().getVersion()
|
||||
|
||||
installed_plugins.each do |plugin|
|
||||
@installed_plugins[plugin.getKey()]=plugin.lastRelease.getVersion()
|
||||
end
|
||||
|
||||
@update_plugin_center.findPluginUpdates().each do |update|
|
||||
plugin = update.plugin
|
||||
already_download = update.plugin.releases.find {|release| @downloads.include? release.filename }
|
||||
if !already_download
|
||||
@updates_by_plugin[plugin]||=[]
|
||||
@updates_by_plugin[plugin]<<update
|
||||
if update.isCompatible
|
||||
@last_compatible[plugin.key]=update.release.version
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
render :action => 'index'
|
||||
end
|
||||
|
||||
def cancel_downloads
|
||||
java_facade.cancelPluginDownloads()
|
||||
flash[:notice]="Pending plugin installations are canceled."
|
||||
redirect_to :action => 'index'
|
||||
def available
|
||||
render :action => 'index'
|
||||
end
|
||||
|
||||
def install
|
||||
key=params[:key]
|
||||
version=params[:version]
|
||||
if key && version
|
||||
begin
|
||||
java_facade.downloadPlugin(key, version)
|
||||
rescue Exception => e
|
||||
flash[:error]=e.message
|
||||
end
|
||||
end
|
||||
redirect_to :action => (params[:from] || 'index')
|
||||
end
|
||||
|
||||
def uninstall
|
||||
key=params[:key]
|
||||
if key
|
||||
begin
|
||||
java_facade.uninstallPlugin(key)
|
||||
rescue Exception => e
|
||||
flash[:error]=e.message
|
||||
end
|
||||
end
|
||||
redirect_to :action => (params[:from] || 'index')
|
||||
end
|
||||
|
||||
def cancel_uninstalls
|
||||
java_facade.cancelPluginUninstalls()
|
||||
flash[:notice]="Pending plugin uninstalls are canceled."
|
||||
redirect_to :action => 'index'
|
||||
end
|
||||
|
||||
def system_updates
|
||||
@uninstalls=java_facade.getPluginUninstalls()
|
||||
@downloads=java_facade.getPluginDownloads()
|
||||
|
||||
@update_plugin_center=nil
|
||||
@sonar_updates=[]
|
||||
load_plugin_center()
|
||||
if @update_plugin_center
|
||||
@sonar_updates=@update_plugin_center.findSonarUpdates()
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_plugin_center
|
||||
@update_plugin_center = java_facade.getUpdatePluginCenter(params[:reload]=='true')
|
||||
@installed_plugin_referential = java_facade.installedPluginReferential
|
||||
end
|
||||
|
||||
def updatecenter_activated
|
||||
update_center_activated = java_facade.getSettings().getBoolean('sonar.updatecenter.activate')
|
||||
unless update_center_activated
|
||||
redirect_to home_url
|
||||
end
|
||||
end
|
||||
|
||||
def installed_plugins
|
||||
@installed_plugin_referential.lastMasterReleasePlugins
|
||||
def system
|
||||
render :action => 'index'
|
||||
end
|
||||
end
|
||||
|
@ -1,44 +0,0 @@
|
||||
#
|
||||
# SonarQube, open source software quality management tool.
|
||||
# Copyright (C) 2008-2014 SonarSource
|
||||
# mailto:contact AT sonarsource DOT com
|
||||
#
|
||||
# SonarQube is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 3 of the License, or (at your option) any later version.
|
||||
#
|
||||
# SonarQube is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with this program; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
class UpdatecenterNewController < ApplicationController
|
||||
|
||||
SECTION=Navigation::SECTION_CONFIGURATION
|
||||
before_filter :admin_required
|
||||
|
||||
def index
|
||||
|
||||
end
|
||||
|
||||
def installed
|
||||
render :action => 'index'
|
||||
end
|
||||
|
||||
def updates
|
||||
render :action => 'index'
|
||||
end
|
||||
|
||||
def available
|
||||
render :action => 'index'
|
||||
end
|
||||
|
||||
def system
|
||||
render :action => 'index'
|
||||
end
|
||||
end
|
@ -1,35 +0,0 @@
|
||||
<script type="text/javascript">
|
||||
function showPlugin (key) {
|
||||
if ($j('#detail-' + key).is(':visible')) {
|
||||
$j('#detail-' + key).hide();
|
||||
} else {
|
||||
$j('#detail-' + key).show();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<% if @uninstalls.size > 0 %>
|
||||
<form action="<%= ApplicationController.root_context -%>/updatecenter/cancel_uninstalls" method="post" class="warning">
|
||||
<p>SonarQube needs to be restarted in order to uninstall the following plugins:</p>
|
||||
<ul class="list-styled spacer-top spacer-bottom">
|
||||
<% @uninstalls.each do |uninstall| %>
|
||||
<li><%= uninstall -%></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<input type="submit" value="Cancel uninstalls" id="cancel-uninstall"/>
|
||||
</form>
|
||||
<% end %>
|
||||
|
||||
<% if @downloads.size > 0 %>
|
||||
<form action="<%= ApplicationController.root_context -%>/updatecenter/cancel_downloads" method="post" class="warning">
|
||||
<p>SonarQube needs to be restarted in order to install the following plugins:
|
||||
<ul>
|
||||
<% @downloads.each do |download| %>
|
||||
<li><%= download -%></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<input type="submit" value="Cancel pending installations" id="cancel-pending-installations"/>
|
||||
</p>
|
||||
</form>
|
||||
<% end %>
|
@ -1,7 +0,0 @@
|
||||
<% if @update_plugin_center.nil? %>
|
||||
<p class="error">Not connected to update center. Please check your internet connection and logs.</p>
|
||||
<% else %>
|
||||
<p class="notes">
|
||||
Updated on <%= @update_plugin_center.getDate() -%>. <%= link_to 'Refresh', :action => action, :reload => true %>
|
||||
</p>
|
||||
<% end %>
|
@ -1,14 +0,0 @@
|
||||
<ul class="tabs">
|
||||
<li>
|
||||
<a href="<%= url_for :action => 'index' -%>" class="<%= 'selected' if tab=='index' -%>">Installed Plugins</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<%= url_for :action => 'available' -%>" class="<%= 'selected' if tab=='available' -%>">Available Plugins</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<%= url_for :action => 'updates' -%>" class="<%= 'selected' if tab=='updates' -%>">Plugin Updates</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<%= url_for :action => 'system_updates' -%>" class="<%= 'selected' if tab=='system_updates' -%>">System Updates</a>
|
||||
</li>
|
||||
</ul>
|
@ -1,132 +0,0 @@
|
||||
<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');
|
||||
return false;
|
||||
}
|
||||
$j('#install-form-' + key).submit();
|
||||
|
||||
var button = $j('#submit-' + key);
|
||||
button.prop('disabled', 'true');
|
||||
button.attr('value', 'Installing');
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<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 => '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">
|
||||
|
||||
<% 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 %>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="break30"></div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= render :partial => 'updatecenter/status', :locals => {:action => 'available'} %>
|
||||
</div>
|
||||
</div>
|
@ -1,106 +1,7 @@
|
||||
<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'} -%>
|
||||
|
||||
<div class="tabs-panel">
|
||||
|
||||
<%= 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="spaced width100">
|
||||
|
||||
<% 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 %>
|
||||
|
||||
<% 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>
|
||||
<% content_for :extra_script do %>
|
||||
<script>
|
||||
require(['apps/update-center/app'], function (App) {
|
||||
App.start({ el: '#content', urlRoot: baseUrl + '/updatecenter' });
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
|
@ -1,119 +0,0 @@
|
||||
<style>
|
||||
ol.bulletpoints li {
|
||||
list-style-type: decimal;
|
||||
list-style-position: inside;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
function submitForm (elt) {
|
||||
elt.submit();
|
||||
elt.disable();
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<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 => 'system_updates'} -%>
|
||||
|
||||
<div class="tabs-panel">
|
||||
|
||||
<%= render :partial => 'updatecenter/operations' -%>
|
||||
|
||||
<% 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 %>
|
||||
|
||||
<% @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'} %>
|
||||
</div>
|
||||
</div>
|
@ -1,103 +0,0 @@
|
||||
<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>
|
||||
|
||||
<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 => 'updates'} -%>
|
||||
|
||||
<div class="tabs-panel">
|
||||
|
||||
<%= render :partial => 'updatecenter/operations' -%>
|
||||
|
||||
<% 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 %>
|
||||
<%= render :partial => 'updatecenter/status', :locals => {:action => 'updates'} %>
|
||||
</div>
|
||||
</div>
|
@ -1,7 +0,0 @@
|
||||
<% content_for :extra_script do %>
|
||||
<script>
|
||||
require(['apps/update-center/app'], function (App) {
|
||||
App.start({ el: '#content', urlRoot: baseUrl + '/updatecenter_new' });
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
Loading…
Reference in New Issue
Block a user