fix failed issues

As reported in issue #1822 I broke try next release when failed. This
commit adds the failed status to several items.
This commit is contained in:
mano3m
2013-06-11 21:43:01 +02:00
parent 1694ed7758
commit 2f30c6c781
4 changed files with 28 additions and 6 deletions

View File

@@ -165,7 +165,18 @@ MA.Release = new Class({
'click': function(e){
(e).preventDefault();
self.ignore(release);
this.getParent('.item').toggleClass('ignored')
if(this.getParent('.item').hasClass('failed')){
this.getParent('.item').toggleClass('failed');
this.parentNode.getElementsByTagName('span')[1].innerHTML = 'available';
}
else if(this.getParent('.item').hasClass('ignored')){
this.getParent('.item').toggleClass('ignored');
this.parentNode.getElementsByTagName('span')[1].innerHTML = 'available';
}
else {
this.getParent('.item').toggleClass('ignored');
this.parentNode.getElementsByTagName('span')[1].innerHTML = 'ignored';
}
}
}
})
@@ -189,7 +200,7 @@ MA.Release = new Class({
}
if(self.next_release || (self.last_release && ['ignored', 'failed'].indexOf(self.last_release.status.identifier) === false)){
self.trynext_container = new Element('div.buttons.try_container').inject(self.release_container, 'top');
self.trynext_container.adopt(

View File

@@ -568,6 +568,16 @@
transform: scale(-1, 1);
}
.movies .options .table .item.failed span {
text-decoration: line-through;
color: rgba(255,255,255,0.4);
}
.movies .options .table .item.failed .delete:before {
display: inline-block;
content: "\e04b";
transform: scale(-1, 1);
}
.movies .options .table .item:last-child { border: 0; }
.movies .options .table .item:nth-child(even) {
background: rgba(255,255,255,0.05);
@@ -617,6 +627,7 @@
.movies .options .table a.download { color: #a7fbaf; }
.movies .options .table a.delete { color: #fda3a3; }
.movies .options .table .ignored a.delete { color: #b5fda3; }
.movies .options .table .failed a.delete { color: #b5fda3; }
.movies .options .table .head > * {
font-weight: bold;

View File

@@ -153,8 +153,8 @@ class Release(Plugin):
rel = db.query(Relea).filter_by(id = id).first()
if rel:
ignored_status, available_status = fireEvent('status.get', ['ignored', 'available'], single = True)
rel.status_id = available_status.get('id') if rel.status_id is ignored_status.get('id') else ignored_status.get('id')
ignored_status, failed_status, available_status = fireEvent('status.get', ['ignored', 'failed', 'available'], single = True)
rel.status_id = available_status.get('id') if rel.status_id in [ignored_status.get('id'), failed_status.get('id')] else ignored_status.get('id')
db.commit()
return jsonified({

View File

@@ -146,7 +146,7 @@ class Searcher(Plugin):
pre_releases = fireEvent('quality.pre_releases', single = True)
release_dates = fireEvent('library.update_release_date', identifier = movie['library']['identifier'], merge = True)
available_status, ignored_status = fireEvent('status.get', ['available', 'ignored'], single = True)
available_status, ignored_status, failed_status = fireEvent('status.get', ['available', 'ignored', 'failed'], single = True)
found_releases = []
@@ -169,7 +169,7 @@ class Searcher(Plugin):
# See if better quality is available
for release in movie['releases']:
if release['quality']['order'] <= quality_type['quality']['order'] and release['status_id'] not in [available_status.get('id'), ignored_status.get('id')]:
if release['quality']['order'] <= quality_type['quality']['order'] and release['status_id'] not in [available_status.get('id'), ignored_status.get('id'), failed_status.get('id')]:
has_better_quality += 1
# Don't search for quality lower then already available.