aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs1
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj1
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs (renamed from MediaBrowser.Controller/ScheduledTasks/RefreshMediaLibraryTask.cs)2
-rw-r--r--MediaBrowser.WebDashboard/Html/dashboard.html11
-rw-r--r--MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js41
7 files changed, 46 insertions, 13 deletions
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 656f9d567..96db93a99 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -174,7 +174,6 @@
<Compile Include="Resolvers\EntityResolutionHelper.cs" />
<Compile Include="Resolvers\ResolverPriority.cs" />
<Compile Include="Library\TVUtils.cs" />
- <Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" />
<Compile Include="Library\ItemResolveArgs.cs" />
<Compile Include="IO\FileData.cs" />
<Compile Include="Kernel.cs" />
diff --git a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
index c1371a32b..14d413f1a 100644
--- a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
+++ b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
@@ -3,8 +3,8 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.ScheduledTasks;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Server.Implementations.ScheduledTasks;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 7b12201f7..bf21e7500 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -7,7 +7,6 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers;
-using MediaBrowser.Controller.ScheduledTasks;
using MediaBrowser.Controller.Sorting;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
index 72f6d0b0f..692635543 100644
--- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
+++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj
@@ -147,6 +147,7 @@
<Compile Include="ScheduledTasks\ChapterImagesTask.cs" />
<Compile Include="ScheduledTasks\ImageCleanupTask.cs" />
<Compile Include="ScheduledTasks\PluginUpdateTask.cs" />
+ <Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" />
<Compile Include="ServerApplicationPaths.cs" />
<Compile Include="ServerManager\ServerManager.cs" />
<Compile Include="ServerManager\WebSocketConnection.cs" />
diff --git a/MediaBrowser.Controller/ScheduledTasks/RefreshMediaLibraryTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs
index 6b06ca944..8170e90a6 100644
--- a/MediaBrowser.Controller/ScheduledTasks/RefreshMediaLibraryTask.cs
+++ b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs
@@ -6,7 +6,7 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
-namespace MediaBrowser.Controller.ScheduledTasks
+namespace MediaBrowser.Server.Implementations.ScheduledTasks
{
/// <summary>
/// Class RefreshMediaLibraryTask
diff --git a/MediaBrowser.WebDashboard/Html/dashboard.html b/MediaBrowser.WebDashboard/Html/dashboard.html
index deec12a36..693af7d26 100644
--- a/MediaBrowser.WebDashboard/Html/dashboard.html
+++ b/MediaBrowser.WebDashboard/Html/dashboard.html
@@ -24,12 +24,17 @@
<p id="newVersionNumber"></p>
<button id="btnUpdateApplication" type="button" data-icon="download" data-theme="b" onclick="DashboardPage.updateApplication();">Update Now</button>
</div>
+ <div id="pPluginUpdates"></div>
</div>
</div>
- <div data-role="collapsible" data-content-theme="c" data-collapsed="false" style="margin-top: 2em; display: none;" id="collapsiblePluginUpdates">
- <h3>Plugin Information</h3>
- <div id="pPluginUpdates"></div>
+ <div id="collapsiblePendingInstallations" data-role="collapsible" data-content-theme="c" data-collapsed="false" style="margin-top: 2em; display: none;">
+ <h3>Pending Installations</h3>
+ <p>The following components have been installed or updated:</p>
+ <div id="pendingInstallations">
+ </div>
+ <p>Please restart the server to finish applying updates.</p>
+ <button type="button" data-icon="refresh" data-theme="b" onclick="Dashboard.restartServer();">Restart Now</button>
</div>
<div data-role="collapsible" data-content-theme="c" data-collapsed="false" style="margin-top: 2em;">
diff --git a/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js b/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js
index e61febb26..5b0685147 100644
--- a/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js
+++ b/MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js
@@ -293,6 +293,7 @@
DashboardPage.renderApplicationUpdateInfo(dashboardInfo);
DashboardPage.renderPluginUpdateInfo(dashboardInfo);
+ DashboardPage.renderPendingInstallations(dashboardInfo.SystemInfo);
},
renderApplicationUpdateInfo: function (dashboardInfo) {
@@ -330,17 +331,43 @@
});
} else {
-
+
if (dashboardInfo.SystemInfo.HasPendingRestart) {
$('#pUpToDate', page).hide();
} else {
$('#pUpToDate', page).show();
}
-
+
$('#pUpdateNow', page).hide();
}
},
+ renderPendingInstallations: function (systemInfo) {
+
+ var page = $.mobile.activePage;
+
+ if (systemInfo.CompletedInstallations.length) {
+
+ $('#collapsiblePendingInstallations', page).show();
+
+ } else {
+ $('#collapsiblePendingInstallations', page).hide();
+
+ return;
+ }
+
+ var html = '';
+
+ for (var i = 0, length = systemInfo.CompletedInstallations.length; i < length; i++) {
+
+ var update = systemInfo.CompletedInstallations[i];
+
+ html += '<div><strong>' + update.Name + '</strong> (' + update.Version + ')</div>';
+ }
+
+ $('#pendingInstallations', page).html(html);
+ },
+
renderPluginUpdateInfo: function (dashboardInfo) {
// Only check once every 10 mins
@@ -354,12 +381,14 @@
ApiClient.getAvailablePluginUpdates().done(function (updates) {
+ var elem = $('#pPluginUpdates', page);
+
if (updates.length) {
- $('#collapsiblePluginUpdates', page).show();
+ elem.show();
} else {
- $('#collapsiblePluginUpdates', page).hide();
+ elem.hide();
return;
}
@@ -374,8 +403,8 @@
html += '<button type="button" data-icon="download" data-theme="b" onclick="DashboardPage.installPluginUpdate(this);" data-name="' + update.name + '" data-version="' + update.versionStr + '" data-classification="' + update.classification + '">Update Now</button>';
}
- $('#pPluginUpdates', page).html(html).trigger('create');
-
+ elem.html(html).trigger('create');
+
}).fail(function () {
Dashboard.showFooterNotification({ html: '<img src="css/images/notifications/error.png" class="notificationIcon" />There was an error connecting to the remote Media Browser repository.', id: "MB3ConnectionError" });