Merge branch 'develop' into feature/release-dates

This commit is contained in:
Leonardo Galli 2017-01-08 17:49:06 +01:00 committed by GitHub
commit 804b2130a8
10 changed files with 65 additions and 41 deletions

View file

@ -30,7 +30,7 @@ namespace NzbDrone.Api.Movie
public DateTime? PhysicalRelease { get; set; } public DateTime? PhysicalRelease { get; set; }
public List<MediaCover> Images { get; set; } public List<MediaCover> Images { get; set; }
public string Website { get; set; } public string Website { get; set; }
public bool Downloaded { get; set; }
public string RemotePoster { get; set; } public string RemotePoster { get; set; }
public int Year { get; set; } public int Year { get; set; }
@ -80,6 +80,8 @@ namespace NzbDrone.Api.Movie
{ {
if (model == null) return null; if (model == null) return null;
long Size = model.MovieFile.Value != null ? model.MovieFile.Value.Size : 0;
return new MovieResource return new MovieResource
{ {
Id = model.Id, Id = model.Id,
@ -89,6 +91,8 @@ namespace NzbDrone.Api.Movie
SortTitle = model.SortTitle, SortTitle = model.SortTitle,
InCinemas = model.InCinemas, InCinemas = model.InCinemas,
PhysicalRelease = model.PhysicalRelease, PhysicalRelease = model.PhysicalRelease,
Downloaded = model.MovieFile.Value != null,
//TotalEpisodeCount //TotalEpisodeCount
//EpisodeCount //EpisodeCount
//EpisodeFileCount //EpisodeFileCount
@ -106,6 +110,8 @@ namespace NzbDrone.Api.Movie
Monitored = model.Monitored, Monitored = model.Monitored,
SizeOnDisk = Size,
Runtime = model.Runtime, Runtime = model.Runtime,
LastInfoSync = model.LastInfoSync, LastInfoSync = model.LastInfoSync,
CleanTitle = model.CleanTitle, CleanTitle = model.CleanTitle,

View file

@ -50,7 +50,7 @@ var Collection = PageableCollection.extend({
}, },
sortMappings : { sortMappings : {
'movie' : { sortKey : 'movie.sortTitle' } 'movie' : { sortKey : 'movie.title' }
}, },
initialize : function(options) { initialize : function(options) {

View file

@ -0,0 +1,6 @@
var TemplatedCell = require('./TemplatedCell');
module.exports = TemplatedCell.extend({
className : 'movie-title-cell',
template : 'Cells/MovieDownloadStatusTemplate',
});

View file

@ -0,0 +1 @@
<span class="label label-{{DownloadedStatusColor}}">{{DownloadedStatus}}</span>

View file

@ -127,8 +127,40 @@ Handlebars.registerHelper('GetBannerStatus', function() {
else if (!monitored) { else if (!monitored) {
return new Handlebars.SafeString('<div class="announced-banner"><i class="icon-sonarr-series-unmonitored grid-icon" title=""></i>&nbsp;Not Monitored</div>'); return new Handlebars.SafeString('<div class="announced-banner"><i class="icon-sonarr-series-unmonitored grid-icon" title=""></i>&nbsp;Not Monitored</div>');
} }
});
Handlebars.registerHelper('DownloadedStatusColor', function() {
if (!this.monitored) {
if (this.downloaded) {
return "default";
}
return "warning";
}
if (this.downloaded) {
return "success";
}
if (this.status != "released") {
return "primary";
}
return "danger";
}) })
Handlebars.registerHelper('DownloadedStatus', function() {
if (this.downloaded) {
return "Downloaded";
}
if (!this.monitored) {
return "Not Monitored";
}
return "Missing";
});
Handlebars.registerHelper('inCinemas', function() { Handlebars.registerHelper('inCinemas', function() {
var monthNames = ["January", "February", "March", "April", "May", "June", var monthNames = ["January", "February", "March", "April", "May", "June",

View file

@ -26,6 +26,7 @@
{{else}} {{else}}
<span class="label label-default">Announced</span> <span class="label label-default">Announced</span>
{{/if_eq}} {{/if_eq}}
<span class="label label-{{DownloadedStatusColor}}">{{DownloadedStatus}}</span>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<span class="series-info-links"> <span class="series-info-links">

View file

@ -12,6 +12,7 @@ var ProfileCell = require('../../Cells/ProfileCell');
var MovieLinksCell = require('../../Cells/MovieLinksCell'); var MovieLinksCell = require('../../Cells/MovieLinksCell');
var MovieActionCell = require('../../Cells/MovieActionCell'); var MovieActionCell = require('../../Cells/MovieActionCell');
var MovieStatusCell = require('../../Cells/MovieStatusCell'); var MovieStatusCell = require('../../Cells/MovieStatusCell');
var MovieDownloadStatusCell = require('../../Cells/MovieDownloadStatusCell');
var FooterView = require('./FooterView'); var FooterView = require('./FooterView');
var FooterModel = require('./FooterModel'); var FooterModel = require('./FooterModel');
var ToolbarLayout = require('../../Shared/Toolbar/ToolbarLayout'); var ToolbarLayout = require('../../Shared/Toolbar/ToolbarLayout');
@ -38,7 +39,6 @@ module.exports = Marionette.Layout.extend({
label : 'Title', label : 'Title',
cell : MovieTitleCell, cell : MovieTitleCell,
cellValue : 'this', cellValue : 'this',
sortValue : 'sortTitle'
}, },
{ {
name : 'profileId', name : 'profileId',
@ -56,6 +56,11 @@ module.exports = Marionette.Layout.extend({
cell : MovieLinksCell, cell : MovieLinksCell,
className : "movie-links-cell" className : "movie-links-cell"
}, },
{
name : "this",
label : "Status",
cell : MovieDownloadStatusCell,
},
{ {
name : 'this', name : 'this',
label : '', label : '',
@ -128,25 +133,17 @@ module.exports = Marionette.Layout.extend({
title : 'Title', title : 'Title',
name : 'title' name : 'title'
}, },
{
title : 'Seasons',
name : 'seasonCount'
},
{ {
title : 'Quality', title : 'Quality',
name : 'profileId' name : 'profileId'
}, },
{ {
title : 'Network', title : 'In Cinemas',
name : 'network' name : 'inCinemas'
}, },
{ {
title : 'Next Airing', title : "Status",
name : 'nextAiring' name : "status",
},
{
title : 'Episodes',
name : 'percentOfEpisodes'
} }
] ]
}; };
@ -170,27 +167,6 @@ module.exports = Marionette.Layout.extend({
tooltip : 'Monitored Only', tooltip : 'Monitored Only',
icon : 'icon-sonarr-monitored', icon : 'icon-sonarr-monitored',
callback : this._setFilter callback : this._setFilter
},
{
key : 'continuing',
title : '',
tooltip : 'Continuing Only',
icon : 'icon-sonarr-series-continuing',
callback : this._setFilter
},
{
key : 'ended',
title : '',
tooltip : 'Ended Only',
icon : 'icon-sonarr-series-ended',
callback : this._setFilter
},
{
key : 'missing',
title : '',
tooltip : 'Missing',
icon : 'icon-sonarr-missing',
callback : this._setFilter
} }
] ]
}; };

View file

@ -40,6 +40,8 @@
<span class="label label-default">{{inCinemas}}</span> <span class="label label-default">{{inCinemas}}</span>
{{profile profileId}} {{profile profileId}}
<span class="label label-{{DownloadedStatusColor}}">{{DownloadedStatus}}</span>
</div> </div>
<div class="col-md-4 col-xs-4"> <div class="col-md-4 col-xs-4">
<span class="movie-info-links"> <span class="movie-info-links">

View file

@ -15,10 +15,10 @@ var Collection = PageableCollection.extend({
tableName : 'movie', tableName : 'movie',
state : { state : {
sortKey : 'sortTitle', sortKey : 'title',
order : -1, order : 1,
pageSize : 100000, pageSize : 100000,
secondarySortKey : 'sortTitle', secondarySortKey : 'title',
secondarySortOrder : -1 secondarySortOrder : -1
}, },
@ -73,7 +73,7 @@ var Collection = PageableCollection.extend({
sortMappings : { sortMappings : {
title : { title : {
sortKey : 'sortTitle' sortKey : 'title'
}, },
nextAiring : { nextAiring : {