release.update_status not triggered on frontend

This commit is contained in:
Ruud
2014-09-18 16:49:44 +02:00
parent 1b724b5606
commit a3a8a820fe
4 changed files with 24 additions and 12 deletions

View File

@@ -150,8 +150,7 @@ class MovieBase(MovieTypeBase):
for release in fireEvent('release.for_media', m['_id'], single = True):
if release.get('status') in ['downloaded', 'snatched', 'seeding', 'done']:
if params.get('ignore_previous', False):
release['status'] = 'ignored'
db.update(release)
fireEvent('release.update_status', m['_id'], status = 'ignored')
else:
fireEvent('release.delete', release['_id'], single = True)

View File

@@ -115,8 +115,15 @@ MA.Release = new Class({
self.releases = null;
if(self.options_container){
self.options_container.destroy();
self.options_container = null;
// Releases are currently displayed
if(self.options_container.isDisplayed()){
self.options_container.destroy();
self.createReleases();
}
else {
self.options_container.destroy();
self.options_container = null;
}
}
});
@@ -131,10 +138,10 @@ MA.Release = new Class({
},
createReleases: function(){
createReleases: function(refresh){
var self = this;
if(!self.options_container){
if(!self.options_container || refresh){
self.options_container = new Element('div.options').grab(
self.release_container = new Element('div.releases.table')
);

View File

@@ -54,13 +54,21 @@ var Movie = new Class({
// Reload when releases have updated
self.global_events['release.update_status'] = function(notification){
var data = notification.data;
if(data && self.data._id == data.movie_id){
if(data && self.data._id == data.media_id){
if(!self.data.releases)
self.data.releases = [];
self.data.releases.push({'quality': data.quality, 'status': data.status});
self.updateReleases();
var updated = false;
self.data.releases.each(function(release){
if(release._id == data._id){
release['status'] = data.status;
updated = true;
}
});
if(updated)
self.updateReleases();
}
};

View File

@@ -383,13 +383,11 @@ class MovieSearcher(SearcherBase, MovieTypeBase):
try:
db = get_db()
rels = fireEvent('release.for_media', media_id, single = True)
for rel in rels:
if rel.get('status') in ['snatched', 'done']:
rel['status'] = 'ignored'
db.update(rel)
fireEvent('release.update_status', rel.get('_id'), status = 'ignored')
media = fireEvent('media.get', media_id, single = True)
if media: