"use strict"; define(['app', 'Quality/QualityProfileCollection', 'AddSeries/RootFolders/RootFolderCollection'], function (app, qualityProfileCollection, rootFolders) { NzbDrone.Series.SeriesModel = Backbone.Model.extend({ urlRoot: NzbDrone.Constants.ApiRoot + '/series', mutators: { bestDateString: function () { return bestDateString(this.get('nextAiring')); }, percentOfEpisodes: function () { var episodeCount = this.get('episodeCount'); var episodeFileCount = this.get('episodeFileCount'); var percent = 100; if (episodeCount > 0) { percent = episodeFileCount / episodeCount * 100; } return percent; }, poster : function () { var poster = _.find(this.get('images'), function (image) { return image.coverType === 1; }); if (poster) { return poster.url; } return undefined; }, fanArt : function () { var poster = _.find(this.get('images'), function (image) { return image.coverType === 3; }); if (poster) { return poster.url; } return undefined; }, traktUrl : function () { return "http://trakt.tv/show/" + this.get('titleSlug'); }, isContinuing : function () { if (this.get('status') === 0) { return true; } return false; }, statusText : function () { if (this.get('status') === 0) { return 'Continuing'; } return 'Ended'; }, shortDate : function () { var date = this.get('nextAiring'); if (!date) { return ''; } return Date.create(date).short(); } }, defaults: { episodeFileCount: 0, episodeCount : 0, qualityProfiles : qualityProfileCollection, rootFolders : rootFolders, isExisting : false, status : 0 } }); });