Only delete movie from selected list. fixes #176
This commit is contained in:
1 parent
144da12be8
commit
353916be2d
4 files changed
+36
-7
No files matched your search
@@ -79,6 +79,7 @@ class MoviePlugin(Plugin):
|
|||||||
'desc': 'Delete a movie from the wanted list',
|
'desc': 'Delete a movie from the wanted list',
|
||||||
'params': {
|
'params': {
|
||||||
'id': {'desc': 'Movie ID(s) you want to delete.', 'type': 'int (comma separated)'},
|
'id': {'desc': 'Movie ID(s) you want to delete.', 'type': 'int (comma separated)'},
|
||||||
|
'delete_from': {'desc': 'Delete movie from this page', 'type': 'string: all (default), wanted, manage'},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -358,20 +359,45 @@ class MoviePlugin(Plugin):
|
|||||||
|
|
||||||
ids = [x.strip() for x in params.get('id').split(',')]
|
ids = [x.strip() for x in params.get('id').split(',')]
|
||||||
for movie_id in ids:
|
for movie_id in ids:
|
||||||
self.delete(movie_id)
|
self.delete(movie_id, delete_from = params.get('delete_from', 'all'))
|
||||||
|
|
||||||
return jsonified({
|
return jsonified({
|
||||||
'success': True,
|
'success': True,
|
||||||
})
|
})
|
||||||
|
|
||||||
def delete(self, movie_id):
|
def delete(self, movie_id, delete_from = None):
|
||||||
|
|
||||||
db = get_session()
|
db = get_session()
|
||||||
|
|
||||||
movie = db.query(Movie).filter_by(id = movie_id).first()
|
movie = db.query(Movie).filter_by(id = movie_id).first()
|
||||||
if movie:
|
if movie:
|
||||||
db.delete(movie)
|
if delete_from == 'all':
|
||||||
db.commit()
|
db.delete(movie)
|
||||||
|
db.commit()
|
||||||
|
else:
|
||||||
|
done_status = fireEvent('status.get', 'done', single = True)
|
||||||
|
|
||||||
|
total_releases = len(movie.releases)
|
||||||
|
total_deleted = 0
|
||||||
|
new_movie_status = None
|
||||||
|
for release in movie.releases:
|
||||||
|
if delete_from == 'wanted' and release.status_id != done_status.get('id'):
|
||||||
|
db.delete(release)
|
||||||
|
total_deleted += 1
|
||||||
|
new_movie_status = 'done'
|
||||||
|
elif delete_from == 'manage' and release.status_id == done_status.get('id'):
|
||||||
|
db.delete(release)
|
||||||
|
total_deleted += 1
|
||||||
|
new_movie_status = 'active'
|
||||||
|
db.commit()
|
||||||
|
|
||||||
|
if total_releases == total_deleted:
|
||||||
|
db.delete(movie)
|
||||||
|
db.commit()
|
||||||
|
elif new_movie_status:
|
||||||
|
new_status = fireEvent('status.get', new_movie_status, single = True)
|
||||||
|
movie.status_id = new_status.get('id')
|
||||||
|
db.commit()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
@@ -253,7 +253,8 @@ var MovieList = new Class({
|
|||||||
(e).preventDefault();
|
(e).preventDefault();
|
||||||
Api.request('movie.delete', {
|
Api.request('movie.delete', {
|
||||||
'data': {
|
'data': {
|
||||||
'id': ids.join(',')
|
'id': ids.join(','),
|
||||||
|
'delete_from': self.options.identifier
|
||||||
},
|
},
|
||||||
'onSuccess': function(){
|
'onSuccess': function(){
|
||||||
qObj.close();
|
qObj.close();
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ var Movie = new Class({
|
|||||||
|
|
||||||
action: {},
|
action: {},
|
||||||
|
|
||||||
initialize: function(self, options, data){
|
initialize: function(list, options, data){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
self.data = data;
|
self.data = data;
|
||||||
self.view = options.view || 'thumbs';
|
self.view = options.view || 'thumbs';
|
||||||
|
self.list = list;
|
||||||
|
|
||||||
self.profile = Quality.getProfile(data.profile_id) || {};
|
self.profile = Quality.getProfile(data.profile_id) || {};
|
||||||
self.parent(self, options);
|
self.parent(self, options);
|
||||||
|
|||||||
@@ -206,7 +206,8 @@ window.addEvent('domready', function(){
|
|||||||
function(){
|
function(){
|
||||||
Api.request('movie.delete', {
|
Api.request('movie.delete', {
|
||||||
'data': {
|
'data': {
|
||||||
'id': self.movie.get('id')
|
'id': self.movie.get('id'),
|
||||||
|
'delete_from': self.movie.list.options.identifier
|
||||||
},
|
},
|
||||||
'onComplete': function(){
|
'onComplete': function(){
|
||||||
movie.set('tween', {
|
movie.set('tween', {
|
||||||
|
|||||||
Reference in new issue
Block a user