1
0
Fork 0
mirror of https://github.com/Sonarr/Sonarr synced 2024-12-30 19:56:54 +00:00
Sonarr/NzbDrone.Web/Views/Series/Details.aspx
markus101 9d24ccd97a Fixes for Episode to EpisodeFile mapping.
Series details sorts with newest season and newest episode on top my default.
2011-02-22 22:23:59 -08:00

105 lines
4.3 KiB
Text

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<NzbDrone.Core.Repository.Series>" %>
<%@ Import Namespace="Telerik.Web.Mvc.UI" %>
<%@ Import Namespace="NzbDrone.Core.Repository" %>
<%@ Import Namespace="NzbDrone.Web.Models" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
<%: Model.Title %>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<fieldset>
<div class="display-label">
ID</div>
<div class="display-field">
<%: Model.SeriesId %></div>
<div class="display-label">
Overview</div>
<div class="display-field">
<%: Model.Overview %></div>
<div class="display-label">
Status</div>
<div class="display-field">
<%: Model.Status %></div>
<div class="display-label">
AirTimes</div>
<div class="display-field">
<%: Model.AirTimes %></div>
<div class="display-label">
Language</div>
<div class="display-field">
<%: Model.Language.ToUpper() %></div>
<div class="display-label">
Location</div>
<div class="display-field">
<%: Model.Path %></div>
</fieldset>
<%
//Todo: This breaks when using SQLServer... thoughts?
//Normal Seasons
foreach (var season in Model.Seasons.Where(s => s.SeasonNumber > 0).Reverse())
{
%>
<br />
<h3>
Season
<%: season.SeasonNumber %></h3>
<%
Season season1 = season;
Html.Telerik().Grid<EpisodeModel>().Name("seasons_" + season.SeasonNumber)
.Columns(columns =>
{
columns.Bound(c => c.SeasonNumber).Width(0).Title("Season");
columns.Bound(c => c.EpisodeNumber).Width(0).Title("Episode");
columns.Bound(c => c.Title).Title("Title");
columns.Bound(c => c.AirDate).Format("{0:d}").Width(0);
})
//.DetailView(detailView => detailView.Template(e => Html.RenderPartial("EpisodeDetail", e)))
.DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #></div>"))
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber).Descending()).Enabled(true))
.Footer(false)
.DataBinding(d => d.Ajax().Select("_AjaxSeasonGrid", "Series", new RouteValueDictionary { { "seasonId", season1.SeasonId.ToString() } }))
//.EnableCustomBinding(true)
//.ClientEvents(e => e.OnDetailViewExpand("episodeDetailExpanded")) //Causes issues displaying the episode detail multiple times...
.Render();
}
//Specials
var specialSeasons = Model.Seasons.Where(s => s.SeasonNumber == 0).FirstOrDefault();
if (specialSeasons != null)
{
%>
<br />
<h3>
Specials</h3>
<%
Html.Telerik().Grid(specialSeasons.Episodes).Name("seasons_specials")
.Columns(columns =>
{
columns.Bound(c => c.EpisodeNumber).Width(0).Title("Episode");
columns.Bound(c => c.Title);
columns.Bound(c => c.AirDate).Format("{0:d}").Width(0);
})
.DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #></div>"))
.Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber)).Enabled(false))
.Footer(false)
.Render();
}
%>
<p>
<%: Html.ActionLink("Edit", "Edit", new {seriesId = Model.SeriesId}) %> |
<%: Html.ActionLink("Back to Series List", "Index") %> |
<%: Html.ActionLink("Sync Episodes on Disk", "SyncEpisodesOnDisk", new {seriesId = Model.SeriesId}) %>
</p>
</asp:Content>
<asp:Content ContentPlaceHolderID="Scripts" runat="server">
<script type="text/javascript">
function episodeDetailExpanded(e) {
$console.log("OnDetailViewExpand :: " + e.masterRow.cells[1].innerHTML);
}
</script>
</asp:Content>