mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-23 14:55:20 -07:00
Loads only request movie first into full collection. Should fix things. (#1046)
Fixes #982
This commit is contained in:
parent
af2b5c2f1c
commit
24a394bf46
3 changed files with 20 additions and 0 deletions
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using NzbDrone.Common.Extensions;
|
using NzbDrone.Common.Extensions;
|
||||||
|
using NzbDrone.Api.Extensions;
|
||||||
using NzbDrone.Core.Datastore.Events;
|
using NzbDrone.Core.Datastore.Events;
|
||||||
using NzbDrone.Core.MediaCover;
|
using NzbDrone.Core.MediaCover;
|
||||||
using NzbDrone.Core.MediaFiles;
|
using NzbDrone.Core.MediaFiles;
|
||||||
|
@ -33,6 +34,8 @@ namespace NzbDrone.Api.Movie
|
||||||
private readonly IMovieStatisticsService _moviesStatisticsService;
|
private readonly IMovieStatisticsService _moviesStatisticsService;
|
||||||
private readonly IMapCoversToLocal _coverMapper;
|
private readonly IMapCoversToLocal _coverMapper;
|
||||||
|
|
||||||
|
private const string TITLE_SLUG_ROUTE = "/titleslug/(?<slug>[^/]+)";
|
||||||
|
|
||||||
public MovieModule(IBroadcastSignalRMessage signalRBroadcaster,
|
public MovieModule(IBroadcastSignalRMessage signalRBroadcaster,
|
||||||
IMovieService moviesService,
|
IMovieService moviesService,
|
||||||
IMovieStatisticsService moviesStatisticsService,
|
IMovieStatisticsService moviesStatisticsService,
|
||||||
|
@ -55,6 +58,9 @@ namespace NzbDrone.Api.Movie
|
||||||
GetResourceAll = AllMovie;
|
GetResourceAll = AllMovie;
|
||||||
GetResourcePaged = GetMoviePaged;
|
GetResourcePaged = GetMoviePaged;
|
||||||
GetResourceById = GetMovie;
|
GetResourceById = GetMovie;
|
||||||
|
Get[TITLE_SLUG_ROUTE] = (options) => {
|
||||||
|
return ReqResExtensions.AsResponse(GetByTitleSlug(options.slug));
|
||||||
|
};
|
||||||
CreateResource = AddMovie;
|
CreateResource = AddMovie;
|
||||||
UpdateResource = UpdateMovie;
|
UpdateResource = UpdateMovie;
|
||||||
DeleteResource = DeleteMovie;
|
DeleteResource = DeleteMovie;
|
||||||
|
@ -186,6 +192,11 @@ namespace NzbDrone.Api.Movie
|
||||||
return moviesResources;
|
return moviesResources;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private MovieResource GetByTitleSlug(string slug)
|
||||||
|
{
|
||||||
|
return MapToResource(_moviesService.FindByTitleSlug(slug));
|
||||||
|
}
|
||||||
|
|
||||||
private int AddMovie(MovieResource moviesResource)
|
private int AddMovie(MovieResource moviesResource)
|
||||||
{
|
{
|
||||||
var model = moviesResource.ToModel();
|
var model = moviesResource.ToModel();
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
var movieCollection = require('./MoviesCollection');
|
var movieCollection = require('./MoviesCollection');
|
||||||
|
|
||||||
var fullCollection = movieCollection.clone();
|
var fullCollection = movieCollection.clone();
|
||||||
|
fullCollection.reset();
|
||||||
fullCollection.bindSignalR();
|
fullCollection.bindSignalR();
|
||||||
fullCollection.state.pageSize = 100000;
|
fullCollection.state.pageSize = 100000;
|
||||||
fullCollection.fetch({reset : true});
|
fullCollection.fetch({reset : true});
|
||||||
|
|
|
@ -4,6 +4,7 @@ var MoviesCollection = require('./MoviesCollection');
|
||||||
var FullMovieCollection = require("./FullMovieCollection");
|
var FullMovieCollection = require("./FullMovieCollection");
|
||||||
var MoviesIndexLayout = require('./Index/MoviesIndexLayout');
|
var MoviesIndexLayout = require('./Index/MoviesIndexLayout');
|
||||||
var MoviesDetailsLayout = require('./Details/MoviesDetailsLayout');
|
var MoviesDetailsLayout = require('./Details/MoviesDetailsLayout');
|
||||||
|
var $ = require('jquery');
|
||||||
|
|
||||||
module.exports = NzbDroneController.extend({
|
module.exports = NzbDroneController.extend({
|
||||||
_originalInit : NzbDroneController.prototype.initialize,
|
_originalInit : NzbDroneController.prototype.initialize,
|
||||||
|
@ -25,8 +26,15 @@ module.exports = NzbDroneController.extend({
|
||||||
|
|
||||||
if(FullMovieCollection.length > 0) {
|
if(FullMovieCollection.length > 0) {
|
||||||
this._renderMovieDetails(query);
|
this._renderMovieDetails(query);
|
||||||
|
//debugger;
|
||||||
} else {
|
} else {
|
||||||
|
self = this;
|
||||||
|
$.getJSON(window.NzbDrone.ApiRoot + '/movie/titleslug/'+query, { }, function(data) {
|
||||||
|
FullMovieCollection.add(data)
|
||||||
|
self._renderMovieDetails(query);
|
||||||
|
});
|
||||||
this.listenTo(FullMovieCollection, 'sync', function(model, options) {
|
this.listenTo(FullMovieCollection, 'sync', function(model, options) {
|
||||||
|
//debugger;
|
||||||
this._renderMovieDetails(query);
|
this._renderMovieDetails(query);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue