2013-03-31 21:45:16 +00:00
|
|
|
|
define(['app', 'Quality/QualityProfileCollection', 'AddSeries/RootFolders/RootFolderCollection'], function (app, qualityProfileCollection, rootFolders) {
|
2013-02-14 02:28:56 +00:00
|
|
|
|
NzbDrone.Series.SeriesModel = Backbone.Model.extend({
|
2013-02-13 06:32:17 +00:00
|
|
|
|
|
2013-03-03 19:59:04 +00:00
|
|
|
|
urlRoot: NzbDrone.Constants.ApiRoot + '/series',
|
|
|
|
|
|
2013-02-14 02:28:56 +00:00
|
|
|
|
mutators: {
|
|
|
|
|
bestDateString: function () {
|
2013-03-01 04:59:06 +00:00
|
|
|
|
return bestDateString(this.get('nextAiring'));
|
2013-02-14 02:28:56 +00:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
percentOfEpisodes: function () {
|
|
|
|
|
var episodeCount = this.get('episodeCount');
|
|
|
|
|
var episodeFileCount = this.get('episodeFileCount');
|
2013-02-13 06:32:17 +00:00
|
|
|
|
|
2013-02-14 02:28:56 +00:00
|
|
|
|
var percent = 100;
|
2013-02-13 06:32:17 +00:00
|
|
|
|
|
2013-03-29 23:28:58 +00:00
|
|
|
|
if (episodeCount > 0) {
|
2013-02-14 02:28:56 +00:00
|
|
|
|
percent = episodeFileCount / episodeCount * 100;
|
2013-03-29 23:28:58 +00:00
|
|
|
|
}
|
2013-02-14 02:28:56 +00:00
|
|
|
|
|
|
|
|
|
return percent;
|
2013-03-31 21:45:16 +00:00
|
|
|
|
},
|
2013-04-04 04:38:51 +00:00
|
|
|
|
poster : function () {
|
|
|
|
|
var poster = _.find(this.get('images'), function (image) {
|
2013-03-31 21:45:16 +00:00
|
|
|
|
return image.coverType === 1;
|
|
|
|
|
});
|
|
|
|
|
|
2013-04-04 04:38:51 +00:00
|
|
|
|
if (poster) {
|
|
|
|
|
return poster.url;
|
2013-03-31 21:45:16 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return undefined;
|
2013-04-04 04:38:51 +00:00
|
|
|
|
},
|
|
|
|
|
smallPoster : function () {
|
|
|
|
|
var poster = this.get('poster');
|
|
|
|
|
var extension = '.' + poster.split('.').pop();
|
|
|
|
|
var withoutExtension = poster.substring(0, poster.length - extension.length);
|
2013-03-31 21:45:16 +00:00
|
|
|
|
|
2013-04-04 04:38:51 +00:00
|
|
|
|
return withoutExtension + '-138' + extension;
|
2013-03-31 21:45:16 +00:00
|
|
|
|
},
|
|
|
|
|
traktUrl : function () {
|
|
|
|
|
return "http://trakt.tv/show/" + this.get('titleSlug');
|
2013-02-14 02:28:56 +00:00
|
|
|
|
}
|
|
|
|
|
},
|
2013-02-13 06:32:17 +00:00
|
|
|
|
|
2013-02-14 02:28:56 +00:00
|
|
|
|
defaults: {
|
|
|
|
|
episodeFileCount: 0,
|
2013-03-29 23:28:58 +00:00
|
|
|
|
episodeCount : 0,
|
2013-03-31 21:45:16 +00:00
|
|
|
|
qualityProfiles : qualityProfileCollection,
|
|
|
|
|
rootFolders : rootFolders
|
2013-02-13 06:32:17 +00:00
|
|
|
|
}
|
2013-02-14 02:28:56 +00:00
|
|
|
|
});
|
2013-02-13 06:32:17 +00:00
|
|
|
|
|
2013-02-14 02:28:56 +00:00
|
|
|
|
});
|