mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-12 11:15:43 +02:00
Merge branch 'master' of git://github.com/kayone/NzbDrone
This commit is contained in:
commit
dd2480dbbe
@ -9,6 +9,7 @@
|
|||||||
using NzbDrone.Core.Model;
|
using NzbDrone.Core.Model;
|
||||||
using NzbDrone.Core.Providers;
|
using NzbDrone.Core.Providers;
|
||||||
using NzbDrone.Core.Repository;
|
using NzbDrone.Core.Repository;
|
||||||
|
using NzbDrone.Core.Repository.Quality;
|
||||||
using NzbDrone.Web.Models;
|
using NzbDrone.Web.Models;
|
||||||
using Telerik.Web.Mvc;
|
using Telerik.Web.Mvc;
|
||||||
using TvdbLib.Data;
|
using TvdbLib.Data;
|
||||||
@ -138,7 +139,9 @@ public ActionResult _AjaxSeasonGrid(int seasonId)
|
|||||||
Title = c.Title,
|
Title = c.Title,
|
||||||
Overview = c.Overview,
|
Overview = c.Overview,
|
||||||
AirDate = c.AirDate,
|
AirDate = c.AirDate,
|
||||||
Path = GetEpisodePath(c.EpisodeFile)
|
Path = GetEpisodePath(c.EpisodeFile),
|
||||||
|
Quality = c.EpisodeFile == null ? String.Empty : c.EpisodeFile.Quality.ToString()
|
||||||
|
|
||||||
});
|
});
|
||||||
return View(new GridModel(episodes));
|
return View(new GridModel(episodes));
|
||||||
}
|
}
|
||||||
@ -168,8 +171,8 @@ public ActionResult _AjaxUnmappedFoldersGrid()
|
|||||||
//We still want to show this series as unmapped, but we don't know what it will be when mapped
|
//We still want to show this series as unmapped, but we don't know what it will be when mapped
|
||||||
//Todo: Provide the user with a way to manually map a folder to a TvDb series (or make them rename the folder...)
|
//Todo: Provide the user with a way to manually map a folder to a TvDb series (or make them rename the folder...)
|
||||||
if (tvDbSeries == null)
|
if (tvDbSeries == null)
|
||||||
tvDbSeries = new TvdbSeries {Id = 0, SeriesName = String.Empty};
|
tvDbSeries = new TvdbSeries { Id = 0, SeriesName = String.Empty };
|
||||||
|
|
||||||
unmappedList.Add(new AddExistingSeriesModel
|
unmappedList.Add(new AddExistingSeriesModel
|
||||||
{
|
{
|
||||||
IsWanted = true,
|
IsWanted = true,
|
||||||
@ -199,10 +202,10 @@ public ActionResult SyncSelectedSeries(List<String> checkedRecords)
|
|||||||
//If the TvDbId for this show is 0 then skip it... User made a mistake... They will have to manually map it
|
//If the TvDbId for this show is 0 then skip it... User made a mistake... They will have to manually map it
|
||||||
if (tvDbId < 1) continue;
|
if (tvDbId < 1) continue;
|
||||||
|
|
||||||
unmappedList.Add(new SeriesMappingModel{Path = path, TvDbId = tvDbId, QualityProfileId = qualityProfileId});
|
unmappedList.Add(new SeriesMappingModel { Path = path, TvDbId = tvDbId, QualityProfileId = qualityProfileId });
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_syncProvider.BeginSyncUnmappedFolders(unmappedList))
|
if (_syncProvider.BeginSyncUnmappedFolders(unmappedList))
|
||||||
return Content("Sync Started for Selected Series");
|
return Content("Sync Started for Selected Series");
|
||||||
|
|
||||||
return Content("Sync already in progress, please wait for it to complete before retrying.");
|
return Content("Sync already in progress, please wait for it to complete before retrying.");
|
||||||
@ -216,7 +219,7 @@ public ActionResult AddNewSeries(string dir, int seriesId, string seriesName, in
|
|||||||
|
|
||||||
if (_syncProvider.BeginAddNewSeries(dir, seriesId, seriesName, qualityProfileId))
|
if (_syncProvider.BeginAddNewSeries(dir, seriesId, seriesName, qualityProfileId))
|
||||||
return Content("Adding new series has started.");
|
return Content("Adding new series has started.");
|
||||||
|
|
||||||
return Content("Unable to add new series, please wait for previous scans to complete first.");
|
return Content("Unable to add new series, please wait for previous scans to complete first.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -387,15 +390,6 @@ public ActionResult RenameEpisode(int episodeId)
|
|||||||
return RedirectToAction("Index");
|
return RedirectToAction("Index");
|
||||||
}
|
}
|
||||||
|
|
||||||
public ActionResult ReScanFiles(int seriesId)
|
|
||||||
{
|
|
||||||
var epFiles = _mediaFileProvider.GetEpisodeFiles().Where(s => s.SeriesId == seriesId).ToList();
|
|
||||||
_mediaFileProvider.CleanUp(epFiles);
|
|
||||||
_mediaFileProvider.Scan(_seriesProvider.GetSeries(seriesId));
|
|
||||||
|
|
||||||
return RedirectToAction("Details", "Series", new { seriesId });
|
|
||||||
}
|
|
||||||
|
|
||||||
//Local Helpers
|
//Local Helpers
|
||||||
private string GetEpisodePath(EpisodeFile file)
|
private string GetEpisodePath(EpisodeFile file)
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
|
using NzbDrone.Core.Repository.Quality;
|
||||||
|
|
||||||
namespace NzbDrone.Web.Models
|
namespace NzbDrone.Web.Models
|
||||||
{
|
{
|
||||||
@ -14,5 +15,7 @@ public class EpisodeModel
|
|||||||
public string Overview { get; set; }
|
public string Overview { get; set; }
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
public DateTime AirDate { get; set; }
|
public DateTime AirDate { get; set; }
|
||||||
|
|
||||||
|
public String Quality { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -14,7 +14,6 @@
|
|||||||
items.Add().Text("Back to Series List").Action("Index", "Series");
|
items.Add().Text("Back to Series List").Action("Index", "Series");
|
||||||
items.Add().Text("Scan For Episodes on Disk").Action("SyncEpisodesOnDisk", "Series", new { seriesId = Model.SeriesId });
|
items.Add().Text("Scan For Episodes on Disk").Action("SyncEpisodesOnDisk", "Series", new { seriesId = Model.SeriesId });
|
||||||
items.Add().Text("Rename Series").Action("RenameSeries", "Series", new { seriesId = Model.SeriesId });
|
items.Add().Text("Rename Series").Action("RenameSeries", "Series", new { seriesId = Model.SeriesId });
|
||||||
items.Add().Text("Re-Scan Files").Action("ReScanFiles", "Series", new { seriesId = Model.SeriesId });
|
|
||||||
}).Render();
|
}).Render();
|
||||||
%>
|
%>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
@ -66,13 +65,14 @@
|
|||||||
.Width(1)
|
.Width(1)
|
||||||
.HtmlAttributes(new { style = "text-align:center" });
|
.HtmlAttributes(new { style = "text-align:center" });
|
||||||
|
|
||||||
columns.Bound(c => c.EpisodeNumber).Width(0).Title("Episode");
|
columns.Bound(c => c.EpisodeNumber).Width(10).Title("Episode");
|
||||||
columns.Bound(c => c.Title).Title("Title");
|
columns.Bound(c => c.Title).Title("Title");
|
||||||
columns.Bound(c => c.AirDate).Format("{0:d}").Width(0);
|
columns.Bound(c => c.AirDate).Format("{0:d}").Width(0);
|
||||||
|
columns.Bound(c => c.Quality);
|
||||||
columns.Bound(c => c.Path);
|
columns.Bound(c => c.Path);
|
||||||
})
|
})
|
||||||
//.DetailView(detailView => detailView.Template(e => Html.RenderPartial("EpisodeDetail", e)))
|
//.DetailView(detailView => detailView.Template(e => Html.RenderPartial("EpisodeDetail", e)))
|
||||||
.DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #></div>"))
|
.DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #> </br><#= Path #> </div>"))
|
||||||
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber).Descending()).Enabled(true))
|
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber).Descending()).Enabled(true))
|
||||||
.Footer(false)
|
.Footer(false)
|
||||||
.DataBinding(d => d.Ajax().Select("_AjaxSeasonGrid", "Series", new RouteValueDictionary { { "seasonId", season1.SeasonId.ToString() } }))
|
.DataBinding(d => d.Ajax().Select("_AjaxSeasonGrid", "Series", new RouteValueDictionary { { "seasonId", season1.SeasonId.ToString() } }))
|
||||||
|
@ -13,20 +13,16 @@
|
|||||||
.Add("notibar.css"))
|
.Add("notibar.css"))
|
||||||
.Render();
|
.Render();
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<link href="../../Content/style.css" rel="stylesheet" type="text/css" />
|
<link href="../../Content/style.css" rel="stylesheet" type="text/css" />
|
||||||
<link href="../../Content/jquery-ui.css" rel="stylesheet" type="text/css" />
|
<link href="../../Content/jquery-ui.css" rel="stylesheet" type="text/css" />
|
||||||
<link href="../../Content/jquery-ui.custom.css" rel="stylesheet" type="text/css" />
|
<link href="../../Content/jquery-ui.custom.css" rel="stylesheet" type="text/css" />
|
||||||
<link href="../../Content/jquery-simpledropdown.css" rel="stylesheet" type="text/css" />
|
<link href="../../Content/jquery-simpledropdown.css" rel="stylesheet" type="text/css" />
|
||||||
<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js"></script>
|
<script type="text/javascript" src="../../Scripts/jquery-1.5.1.min.js"></script>
|
||||||
<%--<script type="text/javascript" src="../../Scripts/jquery-ui-1.8.8.min.js"></script>--%>
|
<%--<script type="text/javascript" src="../../Scripts/jquery-ui-1.8.8.min.js"></script>--%>
|
||||||
<asp:ContentPlaceHolder ID="headerContent" runat="server"></asp:ContentPlaceHolder>
|
<asp:ContentPlaceHolder ID="headerContent" runat="server">
|
||||||
|
</asp:ContentPlaceHolder>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<a href="http://github.com/kayone/NzbDrone">
|
|
||||||
<img style="position: absolute; top: 0; left: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png" alt="ForkMe"/>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<div id="centered">
|
<div id="centered">
|
||||||
<div id="menu">
|
<div id="menu">
|
||||||
<ul>
|
<ul>
|
||||||
@ -52,7 +48,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
<asp:ContentPlaceHolder runat="server" id="Scripts" />
|
<asp:contentplaceholder runat="server" id="Scripts" />
|
||||||
<% Html.Telerik().ScriptRegistrar().Scripts(
|
<% Html.Telerik().ScriptRegistrar().Scripts(
|
||||||
c => c.Add("jquery-ui-1.8.8.min.js")
|
c => c.Add("jquery-ui-1.8.8.min.js")
|
||||||
.Add("jquery.form.js")
|
.Add("jquery.form.js")
|
||||||
|
Loading…
Reference in New Issue
Block a user