Allow "or" for media and release status in movie.list

This commit is contained in:
Ruud
2014-03-08 23:14:16 +01:00
parent 3f64173905
commit 73dfa232f9
3 changed files with 24 additions and 22 deletions

View File

@@ -111,7 +111,6 @@ class MediaPlugin(MediaBase):
except:
log.error('Refresh handler for non existing media: %s', traceback.format_exc())
def addSingleRefreshView(self):
for media_type in fireEvent('media.types', merge = True):
@@ -143,7 +142,7 @@ class MediaPlugin(MediaBase):
'media': media,
}
def list(self, types = None, status = None, release_status = None, limit_offset = None, starts_with = None, search = None):
def list(self, types = None, status = None, release_status = None, status_or = False, limit_offset = None, starts_with = None, search = None):
db = get_db()
@@ -189,6 +188,12 @@ class MediaPlugin(MediaBase):
if search:
filter_by['search'] = [x['_id'] for x in db.get_many('media_search_title', search)]
if status_or and 'media_status' in filter_by and 'release_status' in filter_by:
filter_by['status'] = list(filter_by['media_status']) + list(filter_by['release_status'])
del filter_by['media_status']
del filter_by['release_status']
# Filter by combining ids
for x in filter_by:
media_ids = [n for n in media_ids if n in filter_by[x]]
@@ -228,20 +233,14 @@ class MediaPlugin(MediaBase):
def listView(self, **kwargs):
types = splitString(kwargs.get('type'))
status = splitString(kwargs.get('status'))
release_status = splitString(kwargs.get('release_status'))
limit_offset = kwargs.get('limit_offset')
starts_with = kwargs.get('starts_with')
search = kwargs.get('search')
total_movies, movies = self.list(
types = types,
status = status,
release_status = release_status,
limit_offset = limit_offset,
starts_with = starts_with,
search = search
types = splitString(kwargs.get('type')),
status = splitString(kwargs.get('status')),
release_status = splitString(kwargs.get('release_status')),
status_or = kwargs.get('status_or') is not None,
limit_offset = kwargs.get('limit_offset'),
starts_with = kwargs.get('starts_with'),
search = kwargs.get('search')
)
return {

View File

@@ -825,12 +825,13 @@ MA.Files = new Class({
create: function(){
var self = this;
self.el = new Element('a.directory', {
'title': 'Available files',
'events': {
'click': self.show.bind(self)
}
});
if(self.movie.data.releases && self.movie.data.releases.length > 0)
self.el = new Element('a.directory', {
'title': 'Available files',
'events': {
'click': self.show.bind(self)
}
});
},

View File

@@ -28,7 +28,9 @@ Page.Manage = new Class({
self.list = new MovieList({
'identifier': 'manage',
'filter': {
'release_status': 'done'
'status': 'done',
'release_status': 'done',
'status_or': 1
},
'actions': [MA.IMDB, MA.Trailer, MA.Files, MA.Readd, MA.Edit, MA.Delete],
'menu': [self.refresh_button, self.refresh_quick],