2011-12-12 21:52:29 +00:00
|
|
|
@using NzbDrone.Web.Helpers
|
2011-12-10 05:05:17 +00:00
|
|
|
@{ViewBag.Title = "NzbDrone";}
|
2011-12-12 21:52:29 +00:00
|
|
|
|
|
|
|
@section HeaderContent
|
|
|
|
{
|
|
|
|
@Html.IncludeCss("Settings.css")
|
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
<style>
|
2012-10-12 01:26:06 +00:00
|
|
|
.progressbar {
|
2013-02-04 04:18:59 +00:00
|
|
|
position: relative;
|
|
|
|
width: 125px;
|
2011-06-25 01:20:52 +00:00
|
|
|
height: 20px;
|
2012-02-05 20:17:23 +00:00
|
|
|
background-color: transparent;
|
|
|
|
border: 1px solid #065EFE;
|
|
|
|
margin: 2px;
|
2011-06-25 01:20:52 +00:00
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-10-12 01:26:06 +00:00
|
|
|
.progressbar-text {
|
2011-06-25 01:20:52 +00:00
|
|
|
position: absolute;
|
2012-02-05 20:17:23 +00:00
|
|
|
display: block;
|
|
|
|
width: 100%;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
2012-10-12 00:19:20 +00:00
|
|
|
.ui-progressbar-value {
|
2011-06-25 01:20:52 +00:00
|
|
|
overflow: hidden;
|
2012-02-05 20:17:23 +00:00
|
|
|
border: 1px solid #065EFE;
|
2011-06-25 01:20:52 +00:00
|
|
|
}
|
2012-02-05 20:17:23 +00:00
|
|
|
|
2013-02-04 04:18:59 +00:00
|
|
|
.ui-progressbar-value .progressbar-text {
|
|
|
|
position: relative;
|
|
|
|
font-weight: normal;
|
|
|
|
color: white;
|
|
|
|
}
|
|
|
|
|
2012-02-05 20:17:23 +00:00
|
|
|
/* Set the row height so it won't resize when the progress bar is created */
|
2013-02-04 04:18:59 +00:00
|
|
|
.seriesTable tr {
|
2012-02-05 20:17:23 +00:00
|
|
|
height: 28px;
|
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
|
|
|
|
.commandsColumn, .statusColumn {
|
2012-02-05 20:23:37 +00:00
|
|
|
text-align: center;
|
2012-10-11 21:21:00 +00:00
|
|
|
white-space: nowrap;
|
2012-02-05 20:23:37 +00:00
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
|
|
|
|
.ui-dialog-buttonpane .ui-dialog-buttonset .ui-delete-button {
|
2012-02-05 21:36:57 +00:00
|
|
|
margin-right: 445px;
|
|
|
|
}
|
2011-06-02 03:36:30 +00:00
|
|
|
</style>
|
2011-04-21 07:14:47 +00:00
|
|
|
@section ActionMenu{
|
2011-08-22 02:56:04 +00:00
|
|
|
<ul class="sub-menu">
|
2013-02-04 04:18:59 +00:00
|
|
|
<li><a href="/v2#series/add">Add Series</a></li>
|
2012-03-13 21:04:42 +00:00
|
|
|
<li>@Ajax.ActionLink("Start RSS Sync", "RssSync", "Command", null, null, new { Title = "Check for newly released downloads" })</li>
|
2012-03-16 07:02:33 +00:00
|
|
|
<li>@Html.ActionLink("Series Editor", "Editor", "Series", null, new { Title = "Edit multiple series" })</li>
|
2011-08-06 02:04:35 +00:00
|
|
|
</ul>
|
2011-04-21 07:14:47 +00:00
|
|
|
}
|
2012-02-05 20:17:23 +00:00
|
|
|
|
2012-02-18 19:41:29 +00:00
|
|
|
<table id="seriesGrid" class="dataTablesGrid hidden-grid">
|
2012-02-07 22:28:53 +00:00
|
|
|
<thead>
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-02-07 22:28:53 +00:00
|
|
|
<tr>
|
2012-02-16 05:53:00 +00:00
|
|
|
<th style="width: 10px">Status</th>
|
|
|
|
<th style="width: auto">Title</th>
|
|
|
|
<th style="width: 100px">Seasons</th>
|
|
|
|
<th style="width: 100px">Quality</th>
|
2012-02-29 07:20:40 +00:00
|
|
|
<th style="width: 100px">Network</th>
|
2012-02-16 05:53:00 +00:00
|
|
|
<th style="width: 140px">Next Airing</th>
|
|
|
|
<th style="width: 100px">Episodes</th>
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-02-07 22:28:53 +00:00
|
|
|
@*Commands Column*@
|
2012-10-11 21:21:00 +00:00
|
|
|
<th style="width: 80px"></th>
|
2012-02-07 22:28:53 +00:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
</tbody>
|
2012-02-05 20:17:23 +00:00
|
|
|
</table>
|
|
|
|
|
2012-02-18 00:43:16 +00:00
|
|
|
<div style="visibility: hidden">
|
|
|
|
<div id="seriesEditor" title="Edit Series">
|
|
|
|
</div>
|
2012-09-04 00:51:07 +00:00
|
|
|
|
2012-02-18 00:43:16 +00:00
|
|
|
<div id="seriesDelete" title="Delete Series">
|
|
|
|
<input class="seriesId" type="hidden" value="" />
|
|
|
|
Are you sure you want to delete '<span class="seriesTitle"></span>'?
|
2012-09-04 00:51:07 +00:00
|
|
|
<div class="series-delete-files">
|
|
|
|
@Html.CheckBox("DeleteFromDisk")
|
|
|
|
<label for="DeleteFromDisk">Delete all files from disk?</label>
|
|
|
|
</div>
|
2012-02-18 00:43:16 +00:00
|
|
|
</div>
|
2012-02-05 20:17:23 +00:00
|
|
|
</div>
|
2011-06-28 01:23:22 +00:00
|
|
|
@section Scripts{
|
2012-02-22 21:41:47 +00:00
|
|
|
@Html.IncludeScript("NzbDrone/series.js")
|
|
|
|
|
2011-06-28 01:23:22 +00:00
|
|
|
<script type="text/javascript">
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-10-11 02:02:17 +00:00
|
|
|
var pauseImage = '<i class="icon-pause grid-icon" title="Not Monitored"></i>';
|
|
|
|
var stopImage = '<i class="icon-stop grid-icon" title="Ended"></i>';
|
|
|
|
var playImage = '<i class="icon-play grid-icon" title="Continuing"></i>';
|
2012-02-05 20:17:23 +00:00
|
|
|
|
|
|
|
$(document).ready(function () {
|
2012-02-16 05:53:00 +00:00
|
|
|
$('#seriesGrid').removeClass('hidden-grid');
|
|
|
|
|
|
|
|
oTable = $('.dataTablesGrid').dataTable({
|
2012-10-24 15:09:42 +00:00
|
|
|
"sAjaxSource": "/series/series",
|
2012-09-27 20:54:40 +00:00
|
|
|
"bServerSide": false,
|
2012-02-16 05:53:00 +00:00
|
|
|
"bShowAll": false,
|
|
|
|
"bPaginate": false,
|
|
|
|
"bLengthChange": false,
|
|
|
|
"bFilter": false,
|
|
|
|
"bSort": true,
|
|
|
|
"bInfo": false,
|
|
|
|
"bAutoWidth": false,
|
2012-02-16 07:17:01 +00:00
|
|
|
"bStateSave": true,
|
2013-02-04 04:18:59 +00:00
|
|
|
"iCookieDuration": 60 * 60 * 24 * 365, //1 year
|
2012-02-16 05:53:00 +00:00
|
|
|
"aoColumns": [
|
2013-02-04 04:18:59 +00:00
|
|
|
{
|
|
|
|
sWidth: '70px',
|
|
|
|
"sClass": "statusColumn",
|
|
|
|
"mDataProp": function (source, type, val) {
|
|
|
|
// 'display' and 'filter' use our fancy naming
|
|
|
|
if (type === 'display' || type === 'filter') {
|
|
|
|
var monitored = source["Monitored"];
|
|
|
|
var status = source["Status"];
|
|
|
|
|
|
|
|
if (!monitored) {
|
|
|
|
return pauseImage;
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
if (status === "Ended") {
|
|
|
|
return stopImage;
|
2012-02-16 05:53:00 +00:00
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
|
|
|
|
else {
|
|
|
|
return playImage;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 'sort' and 'type' both just use the raw data
|
|
|
|
return source["Status"];
|
|
|
|
}
|
2012-02-16 05:53:00 +00:00
|
|
|
}, //Status
|
2013-02-04 04:18:59 +00:00
|
|
|
{
|
|
|
|
sWidth: 'auto', "mDataProp": function (source, type, val) {
|
|
|
|
// 'display' and 'filter' use our fancy naming
|
|
|
|
if (type === 'display' || type === 'filter') {
|
|
|
|
return "<a href='/series/details/" + source["SeriesId"] + "'>" + source["Title"] + "</a>";
|
|
|
|
}
|
|
|
|
// 'sort' and 'type' both just use the raw data
|
|
|
|
return source["TitleSorter"];
|
|
|
|
}
|
2012-02-16 05:53:00 +00:00
|
|
|
}, //Title
|
2012-03-02 07:59:12 +00:00
|
|
|
{ sWidth: '100px', "mDataProp": "SeasonsCount" }, //Seasons
|
2012-03-13 20:01:30 +00:00
|
|
|
{ sWidth: '100px', "mDataProp": "QualityProfileName", sClass: "qualityColumn" }, //Quality
|
2012-02-29 17:22:58 +00:00
|
|
|
{ sWidth: '120px', "mDataProp": "Network" }, //Network
|
2013-02-04 04:18:59 +00:00
|
|
|
{
|
|
|
|
sWidth: '120px', "mDataProp": function (source, type, val) {
|
|
|
|
// 'display' and 'filter' use our fancy naming
|
|
|
|
if (type === 'display' || type === 'filter') {
|
|
|
|
return source["NextAiring"];
|
|
|
|
}
|
|
|
|
// 'sort' and 'type' both just use the raw data
|
|
|
|
return source["NextAiringSorter"];
|
|
|
|
}
|
2012-02-16 05:53:00 +00:00
|
|
|
}, //Next Airing
|
2013-02-04 04:18:59 +00:00
|
|
|
{
|
|
|
|
sWidth: '140px', "mDataProp": "Episodes", "bSortable": false, "fnRender": function (row) {
|
2012-08-09 16:12:40 +00:00
|
|
|
var progress = 100;
|
|
|
|
if (row.aData["EpisodeCount"] > 0)
|
|
|
|
progress = row.aData["EpisodeFileCount"] / row.aData["EpisodeCount"] * 100;
|
2012-02-16 05:53:00 +00:00
|
|
|
|
2012-10-12 01:26:06 +00:00
|
|
|
var roundedProgress = Math.round(progress);
|
2012-10-12 00:19:20 +00:00
|
|
|
var progressbar =
|
2012-10-12 01:26:06 +00:00
|
|
|
'<div class="progressbar ui-progressbar ui-widget ui-widget-content ui-corner-all" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="' + roundedProgress + '" data-value="' + progress + '">' +
|
2012-10-12 00:19:20 +00:00
|
|
|
'<span class="progressbar-text">' + row.aData["EpisodeFileCount"] + ' / ' + row.aData["EpisodeCount"] + '</span>' +
|
2012-10-12 01:26:06 +00:00
|
|
|
'<div class="ui-progressbar-value ui-widget-header ui-corner-left" style="width: ' + roundedProgress + '%">' +
|
2012-10-12 00:19:20 +00:00
|
|
|
'<span class="progressbar-text" style="width: 125px">' + row.aData["EpisodeFileCount"] + ' / ' + row.aData["EpisodeCount"] + '</span>' +
|
|
|
|
'</div>' +
|
|
|
|
'</div>';
|
|
|
|
|
|
|
|
return progressbar;
|
2012-10-12 01:26:06 +00:00
|
|
|
}
|
2012-02-16 05:53:00 +00:00
|
|
|
}, //Episodes
|
2012-10-10 23:39:16 +00:00
|
|
|
{
|
2012-10-11 21:21:00 +00:00
|
|
|
sClass: "commandsColumn",
|
2012-10-10 23:39:16 +00:00
|
|
|
sWidth: '50px', "mDataProp": "HasBanner", "bSortable": false, "fnRender": function (row) {
|
2012-10-11 08:02:34 +00:00
|
|
|
return "<i class='icon-cog editButton gridAction' title = 'Edit Series' data-series-id='" + row.aData["SeriesId"] + "' data-series-title='" + row.aData["Title"] + "' ></i> " +
|
|
|
|
"<i class='icon-remove deleteButton gridAction' title = 'Delete Series' data-series-id='" + row.aData["SeriesId"] + "' data-series-title='" + row.aData["Title"] + "'></i>";
|
2012-02-16 05:53:00 +00:00
|
|
|
}
|
|
|
|
}, //Commands
|
2013-02-04 04:18:59 +00:00
|
|
|
{
|
|
|
|
sWidth: '60px', "mDataProp": "Details", "bSortable": false, "bVisible": false, "fnRender": function (row) {
|
|
|
|
var result = "<b>Airs Day of Week: </b>" + row.aData["AirsDayOfWeek"] + "<br/>" +
|
|
|
|
"<b>Air Time: </b>" + row.aData["AirTime"] + "<br/>" +
|
|
|
|
"<b>Overview: </b>" + row.aData["Overview"] + "<br/>";
|
2012-02-16 05:53:00 +00:00
|
|
|
return result;
|
|
|
|
}
|
|
|
|
} //Details
|
2013-02-04 04:18:59 +00:00
|
|
|
],
|
2012-02-16 05:53:00 +00:00
|
|
|
"aaSorting": [[1, 'asc']],
|
2013-02-04 04:18:59 +00:00
|
|
|
"fnCreatedRow": function (nRow, aData, iDataIndex) {
|
2012-09-30 22:39:08 +00:00
|
|
|
$(nRow).attr('data-series-id', aData["SeriesId"].toString());
|
2012-09-26 15:51:02 +00:00
|
|
|
},
|
|
|
|
"oLanguage": {
|
|
|
|
"sEmptyTable": "No series have been added"
|
2012-02-16 05:53:00 +00:00
|
|
|
}
|
|
|
|
});
|
2012-02-05 20:17:23 +00:00
|
|
|
});
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-02-22 21:41:47 +00:00
|
|
|
//After we delete a series do this...
|
|
|
|
function afterDelete(seriesId) {
|
2012-09-30 22:39:08 +00:00
|
|
|
var row = $('[data-series-id="' + seriesId + '"]');
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-04-25 22:33:20 +00:00
|
|
|
if ($(row).hasClass('details-opened')) {
|
|
|
|
var nextRow = $(row).next('tr');
|
2013-02-04 04:18:59 +00:00
|
|
|
if ($(nextRow).children('.Details').length > 0) {
|
2012-04-25 22:33:20 +00:00
|
|
|
$(nextRow).hide();
|
|
|
|
}
|
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-04-25 22:33:20 +00:00
|
|
|
$(row).hide();
|
2012-02-22 21:41:47 +00:00
|
|
|
}
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-02-22 21:41:47 +00:00
|
|
|
//After we save do this...
|
|
|
|
function afterSave() {
|
|
|
|
updateStatus();
|
2013-02-04 04:18:59 +00:00
|
|
|
|
2012-03-13 20:01:30 +00:00
|
|
|
//Update Quality
|
|
|
|
var seriesId = $('#SeriesId').val();
|
|
|
|
var quality = $('#QualityProfileId :selected').text();
|
|
|
|
$('.' + seriesId).children('.qualityColumn').text(quality);
|
2012-02-22 21:41:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function updateStatus() {
|
|
|
|
var monitored = $('#Monitored').attr('checked');
|
|
|
|
var seriesId = $('#SeriesId').val();
|
|
|
|
var status = $('#Status').val();
|
|
|
|
var imgContainer = $('.' + seriesId).children('.statusColumn');
|
|
|
|
|
|
|
|
if (!monitored) {
|
|
|
|
imgContainer.html(pauseImage);
|
2012-02-05 20:17:23 +00:00
|
|
|
}
|
|
|
|
|
2012-02-22 21:41:47 +00:00
|
|
|
else {
|
|
|
|
if (status === "Ended") {
|
|
|
|
imgContainer.html(stopImage);
|
2012-02-05 20:17:23 +00:00
|
|
|
}
|
|
|
|
|
2012-02-16 05:53:00 +00:00
|
|
|
else {
|
2012-02-22 21:41:47 +00:00
|
|
|
imgContainer.html(playImage);
|
2012-02-10 08:16:14 +00:00
|
|
|
}
|
|
|
|
}
|
2012-02-22 21:41:47 +00:00
|
|
|
}
|
2011-06-28 01:23:22 +00:00
|
|
|
</script>
|
|
|
|
}
|