@model NzbDrone.Core.Repository.Series @using NzbDrone.Core.Repository @using NzbDrone.Web.Models @section TitleContent{ @Model.Title } @section ActionMenu{ @{Html.Telerik().Menu().Name("SeriesMenu").Items(items => { items.Add().Text("Edit").Action("Edit", "Series", new { seriesId = Model.SeriesId }); 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("Update Info").Action( "UpdateInfo", "Series", new { seriesId = Model.SeriesId }); items.Add().Text("Rename Series").Action("RenameSeries", "Series", new { seriesId = Model. SeriesId }); }).Render();} } @section MainContent{ <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?*@ @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) .TableHtmlAttributes(new { @class = "Grid" }) .Columns(columns => { columns.Bound(o => o.EpisodeId) .ClientTemplate( "<input type='checkbox' name='checkedEpisodes' value='<#= EpisodeId #>' />") .Title("") .Width(1) .HtmlAttributes(new { style = "text-align:center" }); columns.Bound(c => c.EpisodeNumber).Width(10).Title("Episode"); columns.Bound(c => c.Title).Title("Title").Width(300); columns.Bound(c => c.AirDate).Format("{0:d}").Width(10); columns.Bound(c => c.Quality).Width(10); columns.Bound(c => c.Path); }) //.DetailView(detailView => detailView.Template(e => Html.RenderPartial("EpisodeDetail", e))) .DetailView(detailView => detailView.ClientTemplate("<div><#= Overview #> </br><#= Path #> </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... .ToolBar( c => c.Custom().Text("Rename Season").Action("RenameSeason", "Series", new { seasonId = season1.SeasonId }) .ButtonType(GridButtonType.Text)) .Render(); } @{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") .TableHtmlAttributes(new { @class = "Grid" }) .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); }) .Sortable(rows => rows.OrderBy(epSort => epSort.Add(c => c.EpisodeNumber)).Enabled(false)) .Footer(false) .Render(); } } @section Scripts{ <script type="text/javascript"> function episodeDetailExpanded(e) { $console.log("OnDetailViewExpand :: " + e.masterRow.cells[1].innerHTML); } </script> }