]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7094 Correct, expand update center summary (#941)
authorStas Vilchik <vilchiks@gmail.com>
Thu, 12 May 2016 08:55:14 +0000 (10:55 +0200)
committerStas Vilchik <vilchiks@gmail.com>
Thu, 12 May 2016 08:55:14 +0000 (10:55 +0200)
server/sonar-web/src/main/js/apps/update-center/header-view.js
server/sonar-web/src/main/js/apps/update-center/plugin.js
server/sonar-web/src/main/js/apps/update-center/plugins.js
server/sonar-web/src/main/js/apps/update-center/templates/update-center-header.hbs
server/sonar-web/src/main/js/apps/update-center/templates/update-center-plugin.hbs

index 48132dcdc1a8dd059a5b8bc8104e52c6ab619815..f30c641fa15d9928f40bc48d6088380b80ec565e 100644 (file)
@@ -45,6 +45,7 @@ export default Marionette.ItemView.extend({
   serializeData () {
     return _.extend(Marionette.ItemView.prototype.serializeData.apply(this, arguments), {
       installing: this.collection._installedCount,
+      updating: this.collection._updatedCount,
       uninstalling: this.collection._uninstalledCount
     });
   }
index de5b07b26557902549442ca83a3bdd0f2a6cb699..761745b8270188917f91aa924fb4688d69324611 100644 (file)
@@ -72,7 +72,7 @@ export default Backbone.Model.extend({
     return this._action({
       url: window.baseUrl + '/api/plugins/update',
       success (model) {
-        model.set({ _status: 'installing' });
+        model.set({ _status: 'updating' });
       }
     });
   },
index cb2d23b048ea7ed2a87aad184757573d7e6121b7..868c7acdab7f77f024f0590a0a3f01b6300fd83e 100644 (file)
@@ -31,6 +31,7 @@ const Plugins = Backbone.Collection.extend({
 
   initialize () {
     this._installedCount = 0;
+    this._updatedCount = 0;
     this._uninstalledCount = 0;
     this.listenTo(this, 'change:_status', this.onStatusChange);
   },
@@ -117,12 +118,16 @@ const Plugins = Backbone.Collection.extend({
         const installing = r.installing.map(function (plugin) {
           return { key: plugin.key, _status: 'installing' };
         });
+        const updating = r.updating.map(function (plugin) {
+          return { key: plugin.key, _status: 'updating' };
+        });
         const uninstalling = r.removing.map(function (plugin) {
           return { key: plugin.key, _status: 'uninstalling' };
         });
         that._installedCount = installing.length;
+        that._updatedCount = updating.length;
         that._uninstalledCount = uninstalling.length;
-        that._pending = new Plugins([].concat(installing, uninstalling)).models;
+        that._pending = new Plugins([].concat(installing, updating, uninstalling)).models;
       }
     };
     return Backbone.ajax(opts);
@@ -198,6 +203,7 @@ const Plugins = Backbone.Collection.extend({
       url: window.baseUrl + '/api/plugins/cancel_all',
       success () {
         that._installedCount = 0;
+        that._updatedCount = 0;
         that._uninstalledCount = 0;
         that.forEach(function (model) {
           model.unset('_status');
@@ -212,6 +218,9 @@ const Plugins = Backbone.Collection.extend({
     if (status === 'installing') {
       this._installedCount++;
     }
+    if (status === 'updating') {
+      this._updatedCount++;
+    }
     if (status === 'uninstalling') {
       this._uninstalledCount++;
     }
index a89a1112d5c616a0d2d88ab3126e49411426f978..d70d165fd6b93eaef035ee8d7c6f20dfa2da0da0 100644 (file)
@@ -3,23 +3,30 @@
   <p class="page-description">{{t 'update_center.page.description'}}</p>
 </header>
 
-{{#any installing uninstalling}}
+{{#any installing updating uninstalling}}
   <div class="js-pending panel panel-warning big-spacer-bottom">
     <div class="display-inline-block">
-      <p>
-        SonarQube needs to be restarted in order to
+      <p>SonarQube needs to be restarted in order to</p>
+      <ul class="list-styled spacer-top">
         {{#if installing}}
-          install
-          <strong class="big text-success little-spacer-left little-spacer-right">{{installing}}</strong> plugins
+          <li>
+            install
+            <strong class="big text-success little-spacer-left little-spacer-right">{{installing}}</strong> plugins
+          </li>
+        {{/if}}
+        {{#if updating}}
+          <li>
+            update
+            <strong class="big text-success little-spacer-left little-spacer-right">{{updating}}</strong> plugins
+          </li>
         {{/if}}
-        {{#all installing uninstalling}}
-          and
-        {{/all}}
         {{#if uninstalling}}
-          uninstall
-          <strong class="big text-danger little-spacer-left little-spacer-right">{{uninstalling}}</strong> plugins
+          <li>
+            uninstall
+            <strong class="big text-danger little-spacer-left little-spacer-right">{{uninstalling}}</strong> plugins
+          </li>
         {{/if}}
-      </p>
+      </ul>
     </div>
     <div class="pull-right">
       <button class="js-restart">Restart</button>
index 0252fce327e5a97ba50d108ee77201646cfe7bb5..bf0ecdbaf4ac77ca2ea873032ca66334f62bed50 100644 (file)
 
     <td class="text-top text-right width-20">
       {{#eq _status 'installing'}}
-        <p class="text-success">{{#if version}}Update{{else}}Install{{/if}} Pending</p>
+        <p class="text-success">Install Pending</p>
+      {{/eq}}
+
+      {{#eq _status 'updating'}}
+        <p class="text-success">Update Pending</p>
       {{/eq}}
 
       {{#eq _status 'uninstalling'}}