Proper release deletion and styling
This commit is contained in:
@@ -272,6 +272,13 @@ class MoviePlugin(Plugin):
|
|||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
# Remove releases
|
||||||
|
available_status = fireEvent('status.get', 'available', single = True)
|
||||||
|
for rel in m.releases:
|
||||||
|
if rel.status_id is available_status.get('id'):
|
||||||
|
db.delete(rel)
|
||||||
|
db.commit()
|
||||||
|
|
||||||
movie_dict = m.to_dict(self.default_dict)
|
movie_dict = m.to_dict(self.default_dict)
|
||||||
|
|
||||||
if force_readd or do_search:
|
if force_readd or do_search:
|
||||||
@@ -297,12 +304,20 @@ class MoviePlugin(Plugin):
|
|||||||
params = getParams()
|
params = getParams()
|
||||||
db = get_session()
|
db = get_session()
|
||||||
|
|
||||||
|
available_status = fireEvent('status.get', 'available', single = True)
|
||||||
|
|
||||||
ids = params.get('id').split(',')
|
ids = params.get('id').split(',')
|
||||||
for movie_id in ids:
|
for movie_id in ids:
|
||||||
|
|
||||||
m = db.query(Movie).filter_by(id = movie_id).first()
|
m = db.query(Movie).filter_by(id = movie_id).first()
|
||||||
m.profile_id = params.get('profile_id')
|
m.profile_id = params.get('profile_id')
|
||||||
|
|
||||||
|
# Remove releases
|
||||||
|
for rel in m.releases:
|
||||||
|
if rel.status_id is available_status.get('id'):
|
||||||
|
db.delete(rel)
|
||||||
|
db.commit()
|
||||||
|
|
||||||
# Default title
|
# Default title
|
||||||
if params.get('default_title'):
|
if params.get('default_title'):
|
||||||
for title in m.library.titles:
|
for title in m.library.titles:
|
||||||
|
|||||||
@@ -133,18 +133,38 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.movies .data .quality span {
|
.movies .data .quality span {
|
||||||
padding: 0 5px;
|
padding: 2px 3px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 10px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-shadow: none;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 2px;
|
||||||
|
border-radius: 2px;
|
||||||
|
background-color: rgba(255,255,255,0.1);
|
||||||
}
|
}
|
||||||
.movies .data .quality span:first-child {padding-left: 0;}
|
|
||||||
.movies .list_view .data .quality, .movies .mass_edit_view .data .quality {
|
.movies .list_view .data .quality, .movies .mass_edit_view .data .quality {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
float: right;
|
float: right;
|
||||||
width: 35%;
|
width: 35%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.movies .data .quality .available, .movies .data .quality .snatched {
|
||||||
|
opacity: 1;
|
||||||
|
box-shadow: 1px 1px 0 rgba(0,0,0,0.2);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
.movies .data .quality .available { color: orange; }
|
.movies .data .quality .available { background-color: #578bc3; }
|
||||||
.movies .data .quality .snatched { color: lightgreen; }
|
.movies .data .quality .snatched { background-color: #369545; }
|
||||||
|
.movies .data .quality .finish {
|
||||||
|
background-image: url('../images/sprite.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 0 2px;
|
||||||
|
padding-left: 14px;
|
||||||
|
background-size: 14px
|
||||||
|
}
|
||||||
|
|
||||||
.movies .data .actions {
|
.movies .data .actions {
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
@@ -218,6 +238,15 @@
|
|||||||
.movies .options .table .item {
|
.movies .options .table .item {
|
||||||
border-bottom: 1px solid rgba(255,255,255,0.1);
|
border-bottom: 1px solid rgba(255,255,255,0.1);
|
||||||
}
|
}
|
||||||
|
.movies .options .table .item.ignored span {
|
||||||
|
text-decoration: line-through;
|
||||||
|
color: rgba(255,255,255,0.4);
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
.movies .options .table .item.ignored .delete {
|
||||||
|
background-image: url('../images/icon.undo.png');
|
||||||
|
}
|
||||||
|
|
||||||
.movies .options .table .item:last-child { border: 0; }
|
.movies .options .table .item:last-child { border: 0; }
|
||||||
.movies .options .table .item:nth-child(even) {
|
.movies .options .table .item:nth-child(even) {
|
||||||
background: rgba(255,255,255,0.05);
|
background: rgba(255,255,255,0.05);
|
||||||
|
|||||||
@@ -46,7 +46,13 @@ var Movie = new Class({
|
|||||||
self.description = new Element('div.description', {
|
self.description = new Element('div.description', {
|
||||||
'text': self.data.library.plot
|
'text': self.data.library.plot
|
||||||
}),
|
}),
|
||||||
self.quality = new Element('div.quality')
|
self.quality = new Element('div.quality', {
|
||||||
|
'events': {
|
||||||
|
'click': function(e){
|
||||||
|
self.el.getElement('.actions .releases').fireEvent('click', [e])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
),
|
),
|
||||||
self.actions = new Element('div.actions')
|
self.actions = new Element('div.actions')
|
||||||
)
|
)
|
||||||
@@ -69,10 +75,11 @@ var Movie = new Class({
|
|||||||
Array.each(self.data.releases, function(release){
|
Array.each(self.data.releases, function(release){
|
||||||
|
|
||||||
var q = self.quality.getElement('.q_'+ release.quality.identifier);
|
var q = self.quality.getElement('.q_'+ release.quality.identifier);
|
||||||
if(!q)
|
if(!q && release.status.identifier == 'snatched')
|
||||||
var q = self.addQuality(release.quality_id)
|
var q = self.addQuality(release.quality_id)
|
||||||
|
|
||||||
q.addClass(release.status.identifier);
|
if (q)
|
||||||
|
q.addClass(release.status.identifier);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -283,8 +290,8 @@ var ReleaseAction = new Class({
|
|||||||
'events': {
|
'events': {
|
||||||
'click': function(e){
|
'click': function(e){
|
||||||
(e).stop();
|
(e).stop();
|
||||||
self.del(release);
|
self.ignore(release);
|
||||||
this.getParent('.item').destroy();
|
this.getParent('.item').toggleClass('ignored')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -314,10 +321,10 @@ var ReleaseAction = new Class({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
del: function(release){
|
ignore: function(release){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
Api.request('release.delete', {
|
Api.request('release.ignore', {
|
||||||
'data': {
|
'data': {
|
||||||
'id': release.id
|
'id': release.id
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,13 @@ class Release(Plugin):
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
addApiView('release.delete', self.delete, docs = {
|
addApiView('release.delete', self.delete, docs = {
|
||||||
'desc': 'Check for available update',
|
'desc': 'Delete releases',
|
||||||
|
'params': {
|
||||||
|
'id': {'type': 'id', 'desc': 'ID of the release object in release-table'}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
addApiView('release.ignore', self.ignore, docs = {
|
||||||
|
'desc': 'Toggle ignore, for bad or wrong releases',
|
||||||
'params': {
|
'params': {
|
||||||
'id': {'type': 'id', 'desc': 'ID of the release object in release-table'}
|
'id': {'type': 'id', 'desc': 'ID of the release object in release-table'}
|
||||||
}
|
}
|
||||||
@@ -105,6 +111,22 @@ class Release(Plugin):
|
|||||||
'success': True
|
'success': True
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def ignore(self):
|
||||||
|
|
||||||
|
db = get_session()
|
||||||
|
id = getParam('id')
|
||||||
|
|
||||||
|
rel = db.query(Relea).filter_by(id = id).first()
|
||||||
|
if rel:
|
||||||
|
ignored_status = fireEvent('status.get', 'ignored', single = True)
|
||||||
|
available_status = fireEvent('status.get', 'available', single = True)
|
||||||
|
rel.status_id = available_status.get('id') if rel.status_id is ignored_status.get('id') else ignored_status.get('id')
|
||||||
|
db.commit()
|
||||||
|
|
||||||
|
return jsonified({
|
||||||
|
'success': True
|
||||||
|
})
|
||||||
|
|
||||||
def download(self):
|
def download(self):
|
||||||
|
|
||||||
db = get_session()
|
db = get_session()
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 587 B |
Reference in New Issue
Block a user