From 19f782e4a53b940345f89a10fa5e946dc92aee21 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sat, 21 Sep 2013 12:41:06 +0200 Subject: [PATCH] Don't try to change elements that don't exist. fix #2219 --- .../core/media/movie/_base/static/movie.actions.js | 26 +++++++++++++--------- couchpotato/core/media/movie/_base/static/movie.js | 18 ++++++++------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/couchpotato/core/media/movie/_base/static/movie.actions.js b/couchpotato/core/media/movie/_base/static/movie.actions.js index 24bf626..e9f6141 100644 --- a/couchpotato/core/media/movie/_base/static/movie.actions.js +++ b/couchpotato/core/media/movie/_base/static/movie.actions.js @@ -18,11 +18,13 @@ var MovieAction = new Class({ create: function(){}, disable: function(){ - this.el.addClass('disable') + if(this.el) + this.el.addClass('disable') }, enable: function(){ - this.el.removeClass('disable') + if(this.el) + this.el.removeClass('disable') }, getTitle: function(){ @@ -252,10 +254,10 @@ MA.Release = new Class({ }); if(self.last_release) - self.release_container.getElement('#release_'+self.last_release.id).addClass('last_release'); + self.release_container.getElements('#release_'+self.last_release.id).addClass('last_release'); if(self.next_release) - self.release_container.getElement('#release_'+self.next_release.id).addClass('next_release'); + self.release_container.getElements('#release_'+self.next_release.id).addClass('next_release'); if(self.next_release || (self.last_release && ['ignored', 'failed'].indexOf(self.last_release.status.identifier) === false)){ @@ -365,21 +367,25 @@ MA.Release = new Class({ var release_el = self.release_container.getElement('#release_'+release.id), icon = release_el.getElement('.download.icon2'); - icon.addClass('icon spinner').removeClass('download'); + if(icon) + icon.addClass('icon spinner').removeClass('download'); Api.request('release.download', { 'data': { 'id': release.id }, 'onComplete': function(json){ - icon.removeClass('icon spinner'); + if(icon) + icon.removeClass('icon spinner'); if(json.success){ - icon.addClass('completed'); + if(icon) + icon.addClass('completed'); release_el.getElement('.release_status').set('text', 'snatched'); } else - icon.addClass('attention').set('title', 'Something went wrong when downloading, please check logs.'); + if(icon) + icon.addClass('attention').set('title', 'Something went wrong when downloading, please check logs.'); } }); }, @@ -393,11 +399,11 @@ MA.Release = new Class({ }, 'onComplete': function(){ var el = release.el; - if(el.hasClass('failed') || el.hasClass('ignored')){ + if(el && (el.hasClass('failed') || el.hasClass('ignored'))){ el.removeClass('failed').removeClass('ignored'); el.getElement('.release_status').set('text', 'available'); } - else { + else if(el) { el.addClass('ignored'); el.getElement('.release_status').set('text', 'ignored'); } diff --git a/couchpotato/core/media/movie/_base/static/movie.js b/couchpotato/core/media/movie/_base/static/movie.js index 363d860..6defc2a 100644 --- a/couchpotato/core/media/movie/_base/static/movie.js +++ b/couchpotato/core/media/movie/_base/static/movie.js @@ -181,18 +181,18 @@ var Movie = new Class({ // Add releases if(self.data.releases) self.data.releases.each(function(release){ - + var q = self.quality.getElement('.q_id'+ release.quality_id), status = Status.get(release.status_id); - + if(!q && (status.identifier == 'snatched' || status.identifier == 'done')) var q = self.addQuality(release.quality_id) - + if (status && q && !q.hasClass(status.identifier)){ q.addClass(status.identifier); q.set('title', (q.get('title') ? q.get('title') : '') + ' status: '+ status.label) } - + }); Object.each(self.options.actions, function(action, key){ @@ -256,7 +256,8 @@ var Movie = new Class({ self.el.removeEvents('outerClick') setTimeout(function(){ - self.el.getElements('> :not(.data):not(.poster):not(.movie_container)').hide(); + if(self.el) + self.el.getElements('> :not(.data):not(.poster):not(.movie_container)').hide(); }, 600); self.data_container.removeClass('hide_right'); @@ -266,9 +267,10 @@ var Movie = new Class({ changeView: function(new_view){ var self = this; - self.el - .removeClass(self.view+'_view') - .addClass(new_view+'_view') + if(self.el) + self.el + .removeClass(self.view+'_view') + .addClass(new_view+'_view') self.view = new_view; },