Fixed EpisodeSorting examples layout.

Added Missing to main UI.
Add links to series from History and Missing.
Image for search link on Missing.
pull/4/head
Mark McDowall 14 years ago
parent 8ce222a10c
commit f02e92b005

@ -4,6 +4,7 @@ using System.Linq;
using NLog;
using NzbDrone.Core.Model;
using NzbDrone.Core.Model.Notification;
using NzbDrone.Core.Model.Search;
using NzbDrone.Core.Repository;
namespace NzbDrone.Core.Providers.Jobs
@ -36,9 +37,9 @@ namespace NzbDrone.Core.Providers.Jobs
public void Start(ProgressNotification notification, int targetId, int secondaryTargetId)
{
var missingEpisodes =
_episodeProvider.EpisodesWithoutFiles(true).GroupBy(e => new { e.SeriesId, e.SeasonNumber });
var missingEpisodes = _episodeProvider.EpisodesWithoutFiles(true)
.GroupBy(e => new { e.SeriesId, e.SeasonNumber });
var individualEpisodes = new List<Episode>();
Logger.Trace("Processing missing episodes list");

@ -68,6 +68,7 @@ namespace NzbDrone.Web.Controllers
var history = _historyProvider.AllItemsWithRelationships().Select(h => new HistoryModel
{
HistoryId = h.HistoryId,
SeriesId = h.SeriesId,
SeasonNumber = h.Episode.SeasonNumber,
EpisodeNumber = h.Episode.EpisodeNumber,
EpisodeTitle = h.Episode.Title,

@ -31,6 +31,7 @@ namespace NzbDrone.Web.Controllers
var missing = missingEpisodes.Select(e => new MissingEpisodeModel
{
EpisodeId = e.EpisodeId,
SeriesId = e.SeriesId,
SeasonNumber = e.SeasonNumber,
EpisodeNumber = e.EpisodeNumber,
EpisodeTitle = e.Title,

@ -32,7 +32,7 @@ namespace NzbDrone.Web.Controllers
{
SeriesId = u.Series.SeriesId,
EpisodeId = u.EpisodeId,
SeriesName = u.Series.Title,
SeriesTitle = u.Series.Title,
SeasonNumber = u.SeasonNumber,
EpisodeNumber = u.EpisodeNumber,
Title = u.Title,
@ -50,7 +50,7 @@ namespace NzbDrone.Web.Controllers
{
SeriesId = u.Series.SeriesId,
EpisodeId = u.EpisodeId,
SeriesName = u.Series.Title,
SeriesTitle = u.Series.Title,
SeasonNumber = u.SeasonNumber,
EpisodeNumber = u.EpisodeNumber,
Title = u.Title,
@ -68,7 +68,7 @@ namespace NzbDrone.Web.Controllers
{
SeriesId = u.Series.SeriesId,
EpisodeId = u.EpisodeId,
SeriesName = u.Series.Title,
SeriesTitle = u.Series.Title,
SeasonNumber = u.SeasonNumber,
EpisodeNumber = u.EpisodeNumber,
Title = u.Title,
@ -86,7 +86,7 @@ namespace NzbDrone.Web.Controllers
{
SeriesId = u.Series.SeriesId,
EpisodeId = u.EpisodeId,
SeriesName = u.Series.Title,
SeriesTitle = u.Series.Title,
SeasonNumber = u.SeasonNumber,
EpisodeNumber = u.EpisodeNumber,
Title = u.Title,

@ -6,6 +6,7 @@ namespace NzbDrone.Web.Models
public class HistoryModel
{
public int HistoryId { get; set; }
public int SeriesId { get; set; }
public string SeriesTitle { get; set; }
public int SeasonNumber { get; set; }
public int EpisodeNumber { get; set; }

@ -7,6 +7,7 @@ namespace NzbDrone.Web.Models
{
public class MissingEpisodeModel
{
public int SeriesId { get; set; }
public int EpisodeId { get; set; }
public string SeriesTitle { get; set; }
public int SeasonNumber { get; set; }

@ -6,7 +6,7 @@ namespace NzbDrone.Web.Models
{
public int SeriesId { get; set; }
public int EpisodeId { get; set; }
public string SeriesName { get; set; }
public string SeriesTitle { get; set; }
public int SeasonNumber { get; set; }
public int EpisodeNumber { get; set; }
public string Title { get; set; }

@ -38,7 +38,11 @@ History
.ClientTemplate("<center><img alt='<#= Indexer #>' src='" + Url.Content("~/Content/Images/Indexers/") + "<#= Indexer #>.png' /></center>")
.Title("")
.Width(20);
columns.Bound(c => c.SeriesTitle).Title("Series Name");
columns.Bound(c => c.SeriesTitle)
.ClientTemplate("<a href=" +
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
"><#= SeriesTitle #></a>")
.Title("Series Title");
columns.Bound(c => c.SeasonNumber).Title("Season").Width(1);
columns.Bound(c => c.EpisodeNumber).Title("Episode").Width(1);
columns.Bound(c => c.EpisodeTitle).Title("Episode Title");

@ -5,20 +5,41 @@
Missing
}
<style>
.searchImage
{
width: 18px;
height: 18px;
padding: 1px;
margin: 2px;
}
.searchImage:hover
{
background-color: #065EFE;
}
</style>
@section MainContent{
@{Html.Telerik().Grid<MissingEpisodeModel>().Name("missing")
.TableHtmlAttributes(new { @class = "Grid" })
.Columns(columns =>
{
columns.Bound(c => c.SeriesTitle).Title("Series Name");
columns.Bound(c => c.SeriesTitle)
.ClientTemplate("<a href=" +
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
"><#= SeriesTitle #></a>")
.Title("Series Title");
columns.Bound(c => c.SeasonNumber).Title("Season").Width(40);
columns.Bound(c => c.EpisodeNumber).Title("Episode").Width(40);
columns.Bound(c => c.EpisodeTitle).Title("Episode Title");
columns.Bound(c => c.AirDate).Format("{0:d}")
.Title("Air Date")
.Width(80);
columns.Bound(o => o.EpisodeId).Title("")
.ClientTemplate("<a href='#Search' onClick=\"searchForEpisode('<#= EpisodeId #>'); return false;\" >Search</a>");
columns.Bound(c => c.EpisodeId)
.Title("Actions")
.ClientTemplate("<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onClick=\"searchForEpisode('<#= EpisodeId #>'); return false;\"><img src='../../Content/Images/Search.png' alt='Search' title='Search for Episode' class='searchImage' /></a>")
.Width("40");
})
.DetailView(detailView => detailView.ClientTemplate(
"<fieldset>" +

@ -118,13 +118,6 @@
.TableHtmlAttributes(new { @class = "Grid" })
.Columns(columns =>
{
//columns.Bound(o => o.Ignored)
// .Title("<img src='../../Content/Images/ignoredNeutral.png' class='ignoredEpisodesMaster ignoreEpisode ignoreSeason_" + season + "' title='Click to toggle season ignore status' />")
// .ClientTemplate(
// "<img src='../../Content/Images/ignoredNeutral.png' class='ignoreEpisode ignoreEpisode_" + season + " ignored' id='<#= EpisodeId #>' title='Click to toggle episode ignore status' />")
// .Width(20)
// .HtmlAttributes(new { style = "text-align:center" });
columns.Bound(c => c.EpisodeNumber).Width(0).Title("Episode");
columns.Bound(c => c.Title).Title("Title");
columns.Bound(c => c.AirDate).Width(0);
@ -139,11 +132,6 @@
"<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onclick=\"searchForEpisode('<#= EpisodeId #>'); return false;\"><img src='../../Content/Images/Search.png' alt='Search' title='Search for episode' class='searchImage' /></a>" +
"<a href=\"../Episode/Rename?episodeFileId=<#= EpisodeId #>\" onclick=\"renameEpisode('<#= EpisodeFileId #>'); return false;\"><img src='../../Content/Images/Rename.png' alt='Rename' title='Rename episode' class='renameImage' />")
.Width(80);
//columns.Bound(o => o.EpisodeId).Title("")
// .ClientTemplate("<a href=\"../Episode/Season?episodeId=<#= EpisodeId #>\" onclick=\"searchForEpisode('<#= EpisodeId #>'); return false;\">Search</a>"
// + " | " +
// "<a href=\"../Episode/Rename?episodeFileId=<#= EpisodeId #>\" onclick=\"renameEpisode('<#= EpisodeFileId #>'); return false;\">Rename</a>"
// );
})
.DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #> </br><#= Path #> </div>"))
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber).Descending()).Enabled(false))

@ -7,8 +7,15 @@
<style>
#examples
{
clear: both;
margin-top: 15px;
margin-bottom: 15px;
}
#singleEpisodeExample, #multiEpisodeExample
{
float: left
}
</style>
}
@ -74,6 +81,7 @@
</label>
@Html.DropDownListFor(m => m.MultiEpisodeStyle, Model.MultiEpisodeStyles, new { @class = "inputClass selectClass" })
<br/>
<div id ="examples" class="clearfix">
<div id="singleEpisodeExample">
</div>
@ -90,6 +98,10 @@
<script src="/Scripts/settingsForm.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
createExamples();
});
$('#SeriesName').live('change', function () { createExamples(); });
$('#EpisodeName').live('change', function () { createExamples(); });
$('#ReplaceSpaces').live('change', function () { createExamples(); });

@ -38,6 +38,7 @@
@MvcHtmlString.Create(Html.CurrentActionLink("Series", "Index", "Series"))
@MvcHtmlString.Create(Html.CurrentActionLink("Upcoming", "Index", "Upcoming"))
@MvcHtmlString.Create(Html.CurrentActionLink("History", "Index", "History"))
@MvcHtmlString.Create(Html.CurrentActionLink("Missing", "Index", "Missing"))
@MvcHtmlString.Create(Html.CurrentActionLink("Settings", "Index", "Settings"))
@MvcHtmlString.Create(Html.CurrentActionLink("Logs", "Index", "Log"))
</ul>

@ -17,11 +17,11 @@ Upcoming
.TableHtmlAttributes(new { @class = "Grid" })
.Columns(columns =>
{
columns.Bound(c => c.SeriesName)
columns.Bound(c => c.SeriesTitle)
.ClientTemplate("<a href=" +
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
"><#= SeriesName #></a>")
.Title("Series Name");
"><#= SeriesTitle #></a>")
.Title("Series Title");
columns.Bound(c => c.SeasonNumber).Title("Season #").Width(40);
columns.Bound(c => c.EpisodeNumber).Title("Episode #").Width(40);
columns.Bound(c => c.Title).Title("Episode Title");
@ -48,7 +48,7 @@ Upcoming
.TableHtmlAttributes(new { @class = "Grid" })
.Columns(columns =>
{
columns.Bound(c => c.SeriesName)
columns.Bound(c => c.SeriesTitle)
.ClientTemplate("<a href=" +
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
"><#= SeriesName #></a>")
@ -77,7 +77,7 @@ Upcoming
.TableHtmlAttributes(new { @class = "Grid" })
.Columns(columns =>
{
columns.Bound(c => c.SeriesName)
columns.Bound(c => c.SeriesTitle)
.ClientTemplate("<a href=" +
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
"><#= SeriesName #></a>")
@ -107,7 +107,7 @@ Upcoming
.TableHtmlAttributes(new { @class = "Grid" })
.Columns(columns =>
{
columns.Bound(c => c.SeriesName)
columns.Bound(c => c.SeriesTitle)
.ClientTemplate("<a href=" +
Url.Action("Details", "Series", new { seriesId = "<#= SeriesId #>" }) +
"><#= SeriesName #></a>")

Loading…
Cancel
Save