diff options
| -rw-r--r-- | MediaBrowser.Controller/MediaBrowser.Controller.csproj | 1 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/LibraryManager.cs | 1 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj | 1 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/ScheduledTasks/RefreshMediaLibraryTask.cs (renamed from MediaBrowser.Controller/ScheduledTasks/RefreshMediaLibraryTask.cs) | 2 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Html/dashboard.html | 11 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Html/scripts/DashboardPage.js | 41 |
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" }); |
