Fixed: Manual Import not automatically choosing right movie.

Fixes #2458, Fixes #2061
Generally improved Manual Import UI
This commit is contained in:
Leonardo Galli 2018-02-02 14:51:18 +01:00
parent 54e57bf16a
commit 5f8aeeac17
6 changed files with 29 additions and 29 deletions

View File

@ -1408,6 +1408,7 @@
<e p="QueueSpecification.cs" t="Include" />
<e p="RawDiskSpecification.cs" t="Include" />
<e p="ReleaseRestrictionsSpecification.cs" t="Include" />
<e p="RequiredIndexerFlagsSpecification.cs" t="Include" />
<e p="RetentionSpecification.cs" t="Include" />
<e p="RssSync" t="Include">
<e p="AvailabilitySpecification.cs" t="Include" />
@ -1554,6 +1555,7 @@
<e p="QBittorrentPriority.cs" t="Include" />
<e p="QBittorrentProxy.cs" t="Include" />
<e p="QBittorrentSettings.cs" t="Include" />
<e p="QBittorrentState.cs" t="Include" />
<e p="QBittorrentTorrent.cs" t="Include" />
</e>
<e p="rTorrent" t="Include">
@ -1609,6 +1611,7 @@
<e p="UTorrentProxy.cs" t="Include" />
<e p="UTorrentResponse.cs" t="Include" />
<e p="UTorrentSettings.cs" t="Include" />
<e p="UtorrentState.cs" t="Include" />
<e p="UTorrentTorrent.cs" t="Include" />
<e p="UTorrentTorrentCache.cs" t="Include" />
<e p="UTorrentTorrentStatus.cs" t="Include" />
@ -2004,6 +2007,7 @@
<e p="Specifications" t="Include">
<e p="FreeSpaceSpecification.cs" t="Include" />
<e p="FullSeasonSpecification.cs" t="Include" />
<e p="GrabbedReleaseQualitySpecification.cs" t="Include" />
<e p="MatchesFolderSpecification.cs" t="Include" />
<e p="NotSampleSpecification.cs" t="Include" />
<e p="NotUnpackingSpecification.cs" t="Include" />
@ -2337,18 +2341,19 @@
</e>
<e p="Webhook" t="Include">
<e p="Webhook.cs" t="Include" />
<e p="WebhookEpisode.cs" t="Include" />
<e p="WebhookException.cs" t="Include" />
<e p="WebhookGrabPayload.cs" t="Include" />
<e p="WebhookImportPayload.cs" t="Include" />
<e p="WebhookMethod.cs" t="Include" />
<e p="WebhookMovie.cs" t="Include" />
<e p="WebhookMovieFile.cs" t="Include" />
<e p="WebhookPayload.cs" t="Include" />
<e p="WebhookProxy.cs" t="Include" />
<e p="WebhookRelease.cs" t="Include" />
<e p="WebhookRemoteMovie.cs" t="Include" />
<e p="WebhookSeries.cs" t="Include" />
<e p="WebhookService.cs" t="Include" />
<e p="WebhookSettings.cs" t="Include" />
</e>
<e p="Xbmc" t="Include">
<e p="HttpApiProvider.cs" t="Include" />
<e p="IApiProvider.cs" t="Include" />
<e p="InvalidXbmcVersionException.cs" t="Include" />
<e p="JsonApiProvider.cs" t="Include" />
@ -2357,11 +2362,11 @@
<e p="ActivePlayersDharmaResult.cs" t="Include" />
<e p="ActivePlayersEdenResult.cs" t="Include" />
<e p="ErrorResult.cs" t="Include" />
<e p="TvShow.cs" t="Include" />
<e p="TvShowResponse.cs" t="Include" />
<e p="TvShowResult.cs" t="Include" />
<e p="MovieResponse.cs" t="Include" />
<e p="MovieResult.cs" t="Include" />
<e p="VersionResult.cs" t="Include" />
<e p="XbmcJsonResult.cs" t="Include" />
<e p="XbmcMovie.cs" t="Include" />
<e p="XbmcVersion.cs" t="Include" />
</e>
<e p="Xbmc.cs" t="Include" />
@ -3053,15 +3058,9 @@
<e p="ProwlProviderTest.cs" t="Include" />
<e p="SynologyIndexerFixture.cs" t="Include" />
<e p="Xbmc" t="Include">
<e p="Http" t="Include">
<e p="ActivePlayersFixture.cs" t="Include" />
<e p="CheckForErrorFixture.cs" t="Include" />
<e p="GetSeriesPathFixture.cs" t="Include" />
<e p="UpdateFixture.cs" t="Include" />
</e>
<e p="Json" t="Include">
<e p="GetSeriesPathFixture.cs" t="Include" />
<e p="UpdateFixture.cs" t="Include" />
<e p="GetMoviePathFixture.cs" t="Include" />
<e p="UpdateMovieFixture.cs" t="Include" />
</e>
<e p="OnDownloadFixture.cs" t="Include" />
</e>

View File

@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using NzbDrone.Api.Episodes;
using NzbDrone.Api.Movie;
using NzbDrone.Api.REST;
using NzbDrone.Api.Series;
using NzbDrone.Common.Crypto;
@ -16,8 +17,9 @@ namespace NzbDrone.Api.ManualImport
public string Name { get; set; }
public long Size { get; set; }
public SeriesResource Series { get; set; }
public MovieResource Movie { get; set; }
public int? SeasonNumber { get; set; }
public List<EpisodeResource> Episodes { get; set; }
public List<Episodes.EpisodeResource> Episodes { get; set; }
public QualityModel Quality { get; set; }
public int QualityWeight { get; set; }
public string DownloadId { get; set; }
@ -39,6 +41,7 @@ namespace NzbDrone.Api.ManualImport
Name = model.Name,
Size = model.Size,
Series = model.Series.ToResource(),
Movie = model.Movie.ToResource(),
SeasonNumber = model.SeasonNumber,
Episodes = model.Episodes.ToResource(),
Quality = model.Quality,

View File

@ -1,17 +1,17 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Debug - Chrome" type="JavascriptDebugType" factoryName="JavaScript Debug" singleton="true" engineId="98ca6316-2f89-46d9-a9e5-fa9e2b0625b3" uri="http://localhost:7878">
<mapping url="http://localhost:8989/Wanted" local-file="$PROJECT_DIR$/Wanted" />
<mapping url="http://localhost:8989/Config.js" local-file="$PROJECT_DIR$/Config.js" />
<mapping url="http://localhost:8989" local-file="$PROJECT_DIR$" />
<mapping url="http://localhost:8989/Wanted" local-file="$PROJECT_DIR$/Wanted" />
<mapping url="http://localhost:8989/app.js" local-file="$PROJECT_DIR$/app.js" />
<mapping url="http://localhost:8989/Mixins" local-file="$PROJECT_DIR$/Mixins" />
<mapping url="http://localhost:8989/Quality" local-file="$PROJECT_DIR$/Quality" />
<mapping url="http://localhost:8989/Shared" local-file="$PROJECT_DIR$/Shared" />
<mapping url="http://localhost:8989/Controller.js" local-file="$PROJECT_DIR$/Controller.js" />
<mapping url="http://localhost:8989/Calendar" local-file="$PROJECT_DIR$/Calendar" />
<mapping url="http://localhost:8989/Controller.js" local-file="$PROJECT_DIR$/Controller.js" />
<mapping url="http://localhost:8989/Series" local-file="$PROJECT_DIR$/Series" />
<mapping url="http://localhost:8989/AddSeries" local-file="$PROJECT_DIR$/AddSeries" />
<mapping url="http://localhost:8989/Settings" local-file="$PROJECT_DIR$/Settings" />
<mapping url="http://localhost:8989/Config.js" local-file="$PROJECT_DIR$/Config.js" />
<RunnerSettings RunnerId="JavascriptDebugRunner" />
<ConfigurationWrapper RunnerId="JavascriptDebugRunner" />
<method />

View File

@ -36,7 +36,7 @@ var Collection = PageableCollection.extend({
},
sortMappings : {
series : {
movie : {
sortValue : function(model, attr, order) {
var series = model.get(attr);
@ -71,4 +71,4 @@ var Collection = PageableCollection.extend({
Collection = AsSortedCollection.call(Collection);
module.exports = Collection;
module.exports = Collection;

View File

@ -22,9 +22,7 @@ module.exports = Backgrid.Row.extend({
},
_setError : function () {
if (this.model.has('series') &&
this.model.has('seasonNumber') &&
(this.model.has('episodes') && this.model.get('episodes').length > 0)&&
if (this.model.has('movie') &&
this.model.has('quality')) {
this.$el.removeClass('manual-import-error');
}
@ -35,7 +33,7 @@ module.exports = Backgrid.Row.extend({
},
_setClasses : function () {
this.$el.toggleClass('has-series', this.model.has('series'));
this.$el.toggleClass('has-season', this.model.has('seasonNumber'));
this.$el.toggleClass('has-movie', this.model.has('movie'));
//this.$el.toggleClass('has-season', this.model.has('seasonNumber'));
}
});
});

View File

@ -87,8 +87,8 @@ module.exports = Marionette.Layout.extend({
_filter : function (term) {
this.movieCollection.reset(this.fullMovieCollection.filter(function(model){
return model.get("title").toLowerCase().indexOf(term.toLowerCase()) != -1;
}).slice(0, 20));
return (model.get("title") + " ("+model.get("year")+")").toLowerCase().indexOf(term.toLowerCase()) != -1;
}).slice(0, 50));
this._setModelCollection();
//this.movieView.render();