New: After an update the update page will redirect to a success or failure page, depending on the result.

Fix: Notifications will attempt to reconnect to NzbDrone after it is shutdown.
This commit is contained in:
Mark McDowall 2012-02-28 16:59:48 -08:00 committed by kay.one
commit 6e86db66c8
6 changed files with 96 additions and 11 deletions

View file

@ -1,5 +1,6 @@
@model NzbDrone.Web.Models.UpdateModel
@{ViewBag.Title = "Update";}
@if (Model.UpdatePackage == null)
{
<h2>
@ -9,7 +10,7 @@ else
{
<h2>
Available Update: @Model.UpdatePackage.Version
@Ajax.ActionLink("Update", "StartUpdate", "Update", null)
@Ajax.ActionLink("Update", "StartUpdate", "Update", new AjaxOptions{ OnSuccess = "updateStarted" })
</h2>
}
@if (Model.LogFiles.Count != 0)
@ -26,3 +27,33 @@ else
</div>
}
}
@section Scripts
{
<script type="text/javascript">
function updateStarted() {
var errors = 0;
//Pool the server every 5 seconds for a change in state
$.doTimeout('updateStarted', 5000, function () {
$.ajax({
url: '/Health/Index',
type: "GET",
error: function (jqXHR, textStatus, errorThrown) {
//Handle the first error that occured
errors++;
},
success: function (data, textStatus, jqXHR) {
if (errors > 0) {
//Kill the timer, redirect
$.doTimeout('updateStarted');
window.location = '/Update/Post?expectedVersion=@Model.UpdatePackage.Version';
}
}
});
return true;
});
}
</script>
}

View file

@ -0,0 +1,19 @@
@model NzbDrone.Web.Models.PostUpgradeModel
@{
ViewBag.Title = "Post Upgrade";
}
@if (Model.Success)
{
<h1><strong>Successfully upgraded to @(Model.CurrentVersion)</strong></h1>
}
else{
<h1><strong>Failed to upgrade to @(Model.ExpectedVersion)</strong></h1>
<div>
<h3>Please review the log file:
<a href="@Url.Action("ViewLog", "Update", new { filePath = Model.LogFile.Value })">
@Model.LogFile.Key.ToString("MMM dd, hh:mm tt")</a></h3>
</div>
}