mirror of
https://github.com/Radarr/Radarr.git
synced 2024-09-17 15:02:34 +02:00
Merge remote-tracking branch 'refs/remotes/galli-leo/develop' into develop
This commit is contained in:
commit
14bf63e21d
@ -1,4 +1,9 @@
|
||||
# Radarr [![Build Status](https://travis-ci.org/galli-leo/Radarr.svg?branch=develop)](https://travis-ci.org/galli-leo/Radarr)#
|
||||
# Radarr
|
||||
|
||||
| Service | Master | Develop |
|
||||
|----------|:---------------------------:|:----------------------------:|
|
||||
| AppVeyor | [![AppVeyor](https://img.shields.io/appveyor/ci/galli-leo/Radarr/master.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/Radarr) | [![AppVeyor](https://img.shields.io/appveyor/ci/galli-leo/Radarr/develop.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/Radarr) |
|
||||
| Travis | [![Travis](https://img.shields.io/travis/galli-leo/Radarr/master.svg?maxAge=60&style=flat-square)](https://travis-ci.org/galli-leo/Radarr) | [![Travis](https://img.shields.io/travis/galli-leo/Radarr/develop.svg?maxAge=60&style=flat-square)](https://travis-ci.org/galli-leo/Radarr) |
|
||||
|
||||
This fork of Sonarr aims to turn it into something like Couchpotato.
|
||||
|
||||
|
@ -27,9 +27,10 @@ public MovieResource()
|
||||
public MovieStatusType Status { get; set; }
|
||||
public string Overview { get; set; }
|
||||
public DateTime? InCinemas { get; set; }
|
||||
public DateTime? PhysicalRelease { get; set; }
|
||||
public List<MediaCover> Images { get; set; }
|
||||
public string Website { get; set; }
|
||||
|
||||
public bool Downloaded { get; set; }
|
||||
public string RemotePoster { get; set; }
|
||||
public int Year { get; set; }
|
||||
|
||||
@ -79,6 +80,8 @@ public static MovieResource ToResource(this Core.Tv.Movie model)
|
||||
{
|
||||
if (model == null) return null;
|
||||
|
||||
long Size = model.MovieFile.Value != null ? model.MovieFile.Value.Size : 0;
|
||||
|
||||
return new MovieResource
|
||||
{
|
||||
Id = model.Id,
|
||||
@ -87,6 +90,9 @@ public static MovieResource ToResource(this Core.Tv.Movie model)
|
||||
//AlternateTitles
|
||||
SortTitle = model.SortTitle,
|
||||
InCinemas = model.InCinemas,
|
||||
PhysicalRelease = model.PhysicalRelease,
|
||||
|
||||
Downloaded = model.MovieFile.Value != null,
|
||||
//TotalEpisodeCount
|
||||
//EpisodeCount
|
||||
//EpisodeFileCount
|
||||
@ -104,6 +110,8 @@ public static MovieResource ToResource(this Core.Tv.Movie model)
|
||||
|
||||
Monitored = model.Monitored,
|
||||
|
||||
SizeOnDisk = Size,
|
||||
|
||||
Runtime = model.Runtime,
|
||||
LastInfoSync = model.LastInfoSync,
|
||||
CleanTitle = model.CleanTitle,
|
||||
@ -134,6 +142,7 @@ public static Core.Tv.Movie ToModel(this MovieResource resource)
|
||||
//AlternateTitles
|
||||
SortTitle = resource.SortTitle,
|
||||
InCinemas = resource.InCinemas,
|
||||
PhysicalRelease = resource.PhysicalRelease,
|
||||
//TotalEpisodeCount
|
||||
//EpisodeCount
|
||||
//EpisodeFileCount
|
||||
|
@ -16,10 +16,10 @@ public static class PathExtensions
|
||||
private const string UPDATE_CLIENT_EXE = "Radarr.Update.exe";
|
||||
private const string BACKUP_FOLDER = "Backups";
|
||||
|
||||
private static readonly string UPDATE_SANDBOX_FOLDER_NAME = "nzbdrone_update" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_PACKAGE_FOLDER_NAME = "";
|
||||
private static readonly string UPDATE_BACKUP_FOLDER_NAME = "nzbdrone_backup" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_BACKUP_APPDATA_FOLDER_NAME = "nzbdrone_appdata_backup" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_SANDBOX_FOLDER_NAME = "radarr_update" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_PACKAGE_FOLDER_NAME = "Radarr" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_BACKUP_FOLDER_NAME = "radarr_backup" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_BACKUP_APPDATA_FOLDER_NAME = "radarr_appdata_backup" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_CLIENT_FOLDER_NAME = "NzbDrone.Update" + Path.DirectorySeparatorChar;
|
||||
private static readonly string UPDATE_LOG_FOLDER_NAME = "UpdateLogs" + Path.DirectorySeparatorChar;
|
||||
|
||||
|
@ -25,7 +25,7 @@ public interface IServiceProvider
|
||||
|
||||
public class ServiceProvider : IServiceProvider
|
||||
{
|
||||
public const string NZBDRONE_SERVICE_NAME = "NzbDrone";
|
||||
public const string NZBDRONE_SERVICE_NAME = "Radarr";
|
||||
|
||||
private readonly IProcessProvider _processProvider;
|
||||
private readonly Logger _logger;
|
||||
@ -78,7 +78,7 @@ public virtual void Install(string serviceName)
|
||||
serviceInstaller.Context = context;
|
||||
serviceInstaller.DisplayName = serviceName;
|
||||
serviceInstaller.ServiceName = serviceName;
|
||||
serviceInstaller.Description = "NzbDrone Application Server";
|
||||
serviceInstaller.Description = "Radarr Application Server";
|
||||
serviceInstaller.StartType = ServiceStartMode.Automatic;
|
||||
serviceInstaller.ServicesDependedOn = new[] { "EventLog", "Tcpip", "http" };
|
||||
|
||||
|
@ -161,7 +161,8 @@ public AuthenticationType AuthenticationMethod
|
||||
|
||||
public bool AnalyticsEnabled => GetValueBoolean("AnalyticsEnabled", true, persist: false);
|
||||
|
||||
public string Branch => GetValue("Branch", "master").ToLowerInvariant();
|
||||
// TODO: Change back to "master" for the first stable release.
|
||||
public string Branch => GetValue("Branch", "develop").ToLowerInvariant();
|
||||
|
||||
public string LogLevel => GetValue("LogLevel", "Info");
|
||||
|
||||
|
@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using FluentMigrator;
|
||||
using NzbDrone.Core.Datastore.Migration.Framework;
|
||||
using System.Data;
|
||||
|
||||
namespace NzbDrone.Core.Datastore.Migration
|
||||
{
|
||||
[Migration(110)]
|
||||
public class add_phyiscal_release : NzbDroneMigrationBase
|
||||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
Alter.Table("Movies").AddColumn("PhysicalRelease").AsDateTime().Nullable();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -61,6 +61,27 @@ public class MovieResourceRoot
|
||||
public float vote_average { get; set; }
|
||||
public int vote_count { get; set; }
|
||||
public AlternativeTitles alternative_titles { get; set; }
|
||||
public ReleaseDatesResource release_dates { get; set; }
|
||||
}
|
||||
|
||||
public class ReleaseDatesResource
|
||||
{
|
||||
public List<ReleaseDates> results { get; set; }
|
||||
}
|
||||
|
||||
public class ReleaseDate
|
||||
{
|
||||
public string certification { get; set; }
|
||||
public string iso_639_1 { get; set; }
|
||||
public string note { get; set; }
|
||||
public string release_date { get; set; }
|
||||
public int type { get; set; }
|
||||
}
|
||||
|
||||
public class ReleaseDates
|
||||
{
|
||||
public string iso_3166_1 { get; set; }
|
||||
public List<ReleaseDate> release_dates { get; set; }
|
||||
}
|
||||
|
||||
public class Belongs_To_Collection
|
||||
|
@ -70,7 +70,7 @@ public Movie GetMovieInfo(int TmdbId)
|
||||
.SetSegment("route", "movie")
|
||||
.SetSegment("id", TmdbId.ToString())
|
||||
.SetSegment("secondaryRoute", "")
|
||||
.AddQueryParam("append_to_response", "alternative_titles")
|
||||
.AddQueryParam("append_to_response", "alternative_titles,release_dates")
|
||||
.AddQueryParam("country", "US")
|
||||
.Build();
|
||||
|
||||
@ -102,6 +102,27 @@ public Movie GetMovieInfo(int TmdbId)
|
||||
movie.AlternativeTitles.Add(title.title);
|
||||
}
|
||||
|
||||
foreach(ReleaseDates releaseDates in resource.release_dates.results)
|
||||
{
|
||||
foreach(ReleaseDate releaseDate in releaseDates.release_dates)
|
||||
{
|
||||
if (releaseDate.type == 5 || releaseDate.type == 4)
|
||||
{
|
||||
if (movie.PhysicalRelease.HasValue)
|
||||
{
|
||||
if (movie.PhysicalRelease.Value.After(DateTime.Parse(releaseDate.release_date)))
|
||||
{
|
||||
movie.PhysicalRelease = DateTime.Parse(releaseDate.release_date); //Use oldest release date available.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
movie.PhysicalRelease = DateTime.Parse(releaseDate.release_date);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
movie.Ratings = new Ratings();
|
||||
movie.Ratings.Votes = resource.vote_count;
|
||||
movie.Ratings.Value = (decimal)resource.vote_average;
|
||||
|
@ -286,6 +286,7 @@
|
||||
<Compile Include="Datastore\Migration\098_remove_titans_of_tv.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Datastore\Migration\110_add_physical_release_to_table.cs" />
|
||||
<Compile Include="Datastore\Migration\109_add_movie_formats_to_naming_config.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationContext.cs" />
|
||||
<Compile Include="Datastore\Migration\Framework\MigrationController.cs" />
|
||||
|
@ -41,6 +41,7 @@ public Movie()
|
||||
public string RootFolderPath { get; set; }
|
||||
public DateTime Added { get; set; }
|
||||
public DateTime? InCinemas { get; set; }
|
||||
public DateTime? PhysicalRelease { get; set; }
|
||||
public LazyLoaded<Profile> Profile { get; set; }
|
||||
public HashSet<int> Tags { get; set; }
|
||||
public AddMovieOptions AddOptions { get; set; }
|
||||
|
@ -83,6 +83,7 @@ private void RefreshMovieInfo(Movie movie)
|
||||
movie.Website = movieInfo.Website;
|
||||
movie.AlternativeTitles = movieInfo.AlternativeTitles;
|
||||
movie.Year = movieInfo.Year;
|
||||
movie.PhysicalRelease = movieInfo.PhysicalRelease;
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -6,6 +6,6 @@ public class ApplicationUpdateCommand : Command
|
||||
{
|
||||
public override bool SendUpdatesToClient => true;
|
||||
|
||||
public override string CompletionMessage => "Restarting Sonarr to apply updates";
|
||||
public override string CompletionMessage => "Restarting Radarr to apply updates";
|
||||
}
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ private void InstallUpdate(UpdatePackage updatePackage)
|
||||
_diskTransferService.TransferFolder(_appFolderInfo.GetUpdateClientFolder(), updateSandboxFolder, TransferMode.Move, false);
|
||||
|
||||
_logger.Info("Starting update client {0}", _appFolderInfo.GetUpdateClientExePath());
|
||||
_logger.ProgressInfo("Sonarr will restart shortly.");
|
||||
_logger.ProgressInfo("Radarr will restart shortly.");
|
||||
|
||||
_processProvider.Start(_appFolderInfo.GetUpdateClientExePath(), GetUpdaterArgs(updateSandboxFolder));
|
||||
}
|
||||
@ -178,8 +178,9 @@ private string GetUpdaterArgs(string updateSandboxFolder)
|
||||
{
|
||||
var processId = _processProvider.GetCurrentProcess().Id.ToString();
|
||||
var executingApplication = _runtimeInfo.ExecutingApplication;
|
||||
|
||||
return string.Join(" ", processId, updateSandboxFolder.TrimEnd(Path.DirectorySeparatorChar).WrapInQuotes(), executingApplication.WrapInQuotes(), _startupContext.PreservedArguments);
|
||||
var args = string.Join(" ", processId, updateSandboxFolder.TrimEnd(Path.DirectorySeparatorChar).WrapInQuotes(), executingApplication.WrapInQuotes(), _startupContext.PreservedArguments);
|
||||
_logger.Info("Updater Arguments: " + args);
|
||||
return args;
|
||||
}
|
||||
|
||||
private void EnsureAppDataSafety()
|
||||
@ -187,7 +188,7 @@ private void EnsureAppDataSafety()
|
||||
if (_appFolderInfo.StartUpFolder.IsParentPath(_appFolderInfo.AppDataFolder) ||
|
||||
_appFolderInfo.StartUpFolder.PathEquals(_appFolderInfo.AppDataFolder))
|
||||
{
|
||||
throw new UpdateFailedException("Your Sonarr configuration '{0}' is being stored in application folder '{1}' which will cause data lost during the upgrade. Please remove any symlinks or redirects before trying again.", _appFolderInfo.AppDataFolder, _appFolderInfo.StartUpFolder);
|
||||
throw new UpdateFailedException("Your Radarr configuration '{0}' is being stored in application folder '{1}' which will cause data lost during the upgrade. Please remove any symlinks or redirects before trying again.", _appFolderInfo.AppDataFolder, _appFolderInfo.StartUpFolder);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -28,8 +28,7 @@ public CheckUpdateService(IUpdatePackageProvider updatePackageProvider,
|
||||
|
||||
public UpdatePackage AvailableUpdate()
|
||||
{
|
||||
//For new let's just use develop, afterwards we can change it back to the config: _configFileProvider.Branch
|
||||
return _updatePackageProvider.GetLatestUpdate("develop", BuildInfo.Version);
|
||||
return _updatePackageProvider.GetLatestUpdate(_configFileProvider.Branch, BuildInfo.Version);
|
||||
}
|
||||
}
|
||||
}
|
@ -36,7 +36,7 @@ public static void Main(string[] args)
|
||||
var startupArgument = new StartupContext(args);
|
||||
NzbDroneLogger.Register(startupArgument, true, true);
|
||||
|
||||
Logger.Info("Starting Sonarr Update Client");
|
||||
Logger.Info("Starting Radarr Update Client");
|
||||
|
||||
_container = UpdateContainerBuilder.Build(startupArgument);
|
||||
|
||||
@ -66,9 +66,9 @@ private UpdateStartupContext ParseArgs(string[] args)
|
||||
}
|
||||
|
||||
var startupContext = new UpdateStartupContext
|
||||
{
|
||||
ProcessId = ParseProcessId(args[0])
|
||||
};
|
||||
{
|
||||
ProcessId = ParseProcessId(args[0])
|
||||
};
|
||||
|
||||
if (OsInfo.IsNotWindows)
|
||||
{
|
||||
|
@ -17,7 +17,7 @@ public static IContainer Build(IStartupContext startupContext)
|
||||
{
|
||||
var assemblies = new List<string>
|
||||
{
|
||||
"NzbDrone.Update",
|
||||
"Radarr.Update",
|
||||
"NzbDrone.Common"
|
||||
};
|
||||
|
||||
|
@ -80,7 +80,7 @@ private void Verify(string targetFolder, int processId)
|
||||
public void Start(string installationFolder, int processId)
|
||||
{
|
||||
_logger.Info("Installation Folder: {0}", installationFolder);
|
||||
_logger.Info("Updating Sonarr from version {0} to version {1}", _detectExistingVersion.GetExistingVersion(installationFolder), BuildInfo.Version);
|
||||
_logger.Info("Updating Radarr from version {0} to version {1}", _detectExistingVersion.GetExistingVersion(installationFolder), BuildInfo.Version);
|
||||
|
||||
Verify(installationFolder, processId);
|
||||
|
||||
@ -103,7 +103,7 @@ public void Start(string installationFolder, int processId)
|
||||
{
|
||||
if (_processProvider.Exists(ProcessProvider.NZB_DRONE_CONSOLE_PROCESS_NAME) || _processProvider.Exists(ProcessProvider.NZB_DRONE_PROCESS_NAME))
|
||||
{
|
||||
_logger.Error("Sonarr was restarted prematurely by external process.");
|
||||
_logger.Error("Radarr was restarted prematurely by external process.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -146,7 +146,7 @@ public void Start(string installationFolder, int processId)
|
||||
|
||||
if (_processProvider.Exists(ProcessProvider.NZB_DRONE_PROCESS_NAME))
|
||||
{
|
||||
_logger.Info("Sonarr was restarted by external process.");
|
||||
_logger.Info("Radarr was restarted by external process.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ var Collection = PageableCollection.extend({
|
||||
},
|
||||
|
||||
sortMappings : {
|
||||
'movie' : { sortKey : 'movie.sortTitle' }
|
||||
'movie' : { sortKey : 'movie.title' }
|
||||
},
|
||||
|
||||
initialize : function(options) {
|
||||
|
6
src/UI/Cells/MovieDownloadStatusCell.js
Normal file
6
src/UI/Cells/MovieDownloadStatusCell.js
Normal file
@ -0,0 +1,6 @@
|
||||
var TemplatedCell = require('./TemplatedCell');
|
||||
|
||||
module.exports = TemplatedCell.extend({
|
||||
className : 'movie-title-cell',
|
||||
template : 'Cells/MovieDownloadStatusTemplate',
|
||||
});
|
1
src/UI/Cells/MovieDownloadStatusTemplate.hbs
Normal file
1
src/UI/Cells/MovieDownloadStatusTemplate.hbs
Normal file
@ -0,0 +1 @@
|
||||
<span class="label label-{{DownloadedStatusColor}}">{{DownloadedStatus}}</span>
|
@ -127,17 +127,56 @@ Handlebars.registerHelper('GetBannerStatus', function() {
|
||||
else if (!monitored) {
|
||||
return new Handlebars.SafeString('<div class="announced-banner"><i class="icon-sonarr-series-unmonitored grid-icon" title=""></i> 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() {
|
||||
var monthNames = ["January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December"
|
||||
];
|
||||
if (this.physicalRelease) {
|
||||
var d = new Date(this.physicalRelease);
|
||||
var day = d.getDate();
|
||||
var month = monthNames[d.getMonth()];
|
||||
var year = d.getFullYear();
|
||||
return "Available: " + day + ". " + month + " " + year;
|
||||
}
|
||||
var cinemasDate = new Date(this.inCinemas);
|
||||
var year = cinemasDate.getFullYear();
|
||||
var month = monthNames[cinemasDate.getMonth()];
|
||||
return "In Cinemas " + month + " " + year;
|
||||
return "In Cinemas: " + month + " " + year;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('tvRageUrl', function() {
|
||||
|
@ -26,6 +26,7 @@
|
||||
{{else}}
|
||||
<span class="label label-default">Announced</span>
|
||||
{{/if_eq}}
|
||||
<span class="label label-{{DownloadedStatusColor}}">{{DownloadedStatus}}</span>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<span class="series-info-links">
|
||||
|
@ -12,6 +12,7 @@ var ProfileCell = require('../../Cells/ProfileCell');
|
||||
var MovieLinksCell = require('../../Cells/MovieLinksCell');
|
||||
var MovieActionCell = require('../../Cells/MovieActionCell');
|
||||
var MovieStatusCell = require('../../Cells/MovieStatusCell');
|
||||
var MovieDownloadStatusCell = require('../../Cells/MovieDownloadStatusCell');
|
||||
var FooterView = require('./FooterView');
|
||||
var FooterModel = require('./FooterModel');
|
||||
var ToolbarLayout = require('../../Shared/Toolbar/ToolbarLayout');
|
||||
@ -38,7 +39,6 @@ module.exports = Marionette.Layout.extend({
|
||||
label : 'Title',
|
||||
cell : MovieTitleCell,
|
||||
cellValue : 'this',
|
||||
sortValue : 'sortTitle'
|
||||
},
|
||||
{
|
||||
name : 'profileId',
|
||||
@ -56,6 +56,11 @@ module.exports = Marionette.Layout.extend({
|
||||
cell : MovieLinksCell,
|
||||
className : "movie-links-cell"
|
||||
},
|
||||
{
|
||||
name : "this",
|
||||
label : "Status",
|
||||
cell : MovieDownloadStatusCell,
|
||||
},
|
||||
{
|
||||
name : 'this',
|
||||
label : '',
|
||||
@ -123,25 +128,17 @@ module.exports = Marionette.Layout.extend({
|
||||
title : 'Title',
|
||||
name : 'title'
|
||||
},
|
||||
{
|
||||
title : 'Seasons',
|
||||
name : 'seasonCount'
|
||||
},
|
||||
{
|
||||
title : 'Quality',
|
||||
name : 'profileId'
|
||||
},
|
||||
{
|
||||
title : 'Network',
|
||||
name : 'network'
|
||||
title : 'In Cinemas',
|
||||
name : 'inCinemas'
|
||||
},
|
||||
{
|
||||
title : 'Next Airing',
|
||||
name : 'nextAiring'
|
||||
},
|
||||
{
|
||||
title : 'Episodes',
|
||||
name : 'percentOfEpisodes'
|
||||
title : "Status",
|
||||
name : "status",
|
||||
}
|
||||
]
|
||||
};
|
||||
@ -165,27 +162,6 @@ module.exports = Marionette.Layout.extend({
|
||||
tooltip : 'Monitored Only',
|
||||
icon : 'icon-sonarr-monitored',
|
||||
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
|
||||
}
|
||||
]
|
||||
};
|
||||
|
@ -40,6 +40,8 @@
|
||||
<span class="label label-default">{{inCinemas}}</span>
|
||||
|
||||
{{profile profileId}}
|
||||
|
||||
<span class="label label-{{DownloadedStatusColor}}">{{DownloadedStatus}}</span>
|
||||
</div>
|
||||
<div class="col-md-4 col-xs-4">
|
||||
<span class="movie-info-links">
|
||||
|
@ -15,10 +15,10 @@ var Collection = PageableCollection.extend({
|
||||
tableName : 'movie',
|
||||
|
||||
state : {
|
||||
sortKey : 'sortTitle',
|
||||
order : -1,
|
||||
sortKey : 'title',
|
||||
order : 1,
|
||||
pageSize : 100000,
|
||||
secondarySortKey : 'sortTitle',
|
||||
secondarySortKey : 'title',
|
||||
secondarySortOrder : -1
|
||||
},
|
||||
|
||||
@ -73,7 +73,7 @@ var Collection = PageableCollection.extend({
|
||||
|
||||
sortMappings : {
|
||||
title : {
|
||||
sortKey : 'sortTitle'
|
||||
sortKey : 'title'
|
||||
},
|
||||
|
||||
nextAiring : {
|
||||
|
@ -41,7 +41,7 @@ module.exports = Marionette.AppRouter.extend({
|
||||
var label = window.location.pathname === window.NzbDrone.UrlBase + '/system/updates' ? 'Reload' : 'View Changes';
|
||||
|
||||
Messenger.show({
|
||||
message : 'Sonarr has been updated',
|
||||
message : 'Radarr has been updated',
|
||||
hideAfter : 0,
|
||||
id : 'sonarrUpdated',
|
||||
actions : {
|
||||
|
@ -67,4 +67,4 @@ module.exports = Marionette.ItemView.extend({
|
||||
_removeSortIcon : function() {
|
||||
this.ui.icon.removeClass('icon-sonarr-sort-asc icon-sonarr-sort-desc');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user