diff --git a/pandora/archive/views.py b/pandora/archive/views.py index 068f83bd..e5aae612 100644 --- a/pandora/archive/views.py +++ b/pandora/archive/views.py @@ -280,6 +280,47 @@ def moveFiles(request): return render_to_json_response(response) actions.register(moveFiles, cache=False) +@login_required_json +def editFiles(request): + ''' + change file / item link + param data { + ids: ids of files + part: + language: + ignore: boolean + } + + return { + status: {'code': int, 'text': string}, + data: { + } + } + ''' + data = json.loads(request.POST['data']) + files = models.File.objects.filter(oshash__in=data['ids']) + response = json_response() + #FIXME: only editable files! + if True: + if 'ignore' in data: + models.Instance.objects.filter(file__in=files).update(ignore=data['ignore']) + files.update(auto=True) + #FIXME: is this to slow to run sync? + for i in Item.objects.filter(files__in=files).distinct(): + i.update_selected() + i.update_wanted() + response = json_response(status=200, text='updated') + updates = {} + for key in ('part', 'language'): + if key in data: + updates[key] = data[key] + if updates: + files.update(**updates) + response = json_response(status=200, text='updated') + else: + response = json_response(status=403, text='permissino denied') + return render_to_json_response(response) +actions.register(editFiles, cache=False) @login_required_json def editFile(request): diff --git a/pandora/item/models.py b/pandora/item/models.py index 5f9ea8dd..9f4c59f5 100644 --- a/pandora/item/models.py +++ b/pandora/item/models.py @@ -947,7 +947,8 @@ class Item(models.Model): if settings.USE_IMDB: if len(self.itemId) == 7: cmd += ['-i', self.itemId] - cmd += ['-o', self.oxdbId] + oxdbId = self.oxdbId or self.oxdb_id() or self.ItemId + cmd += ['-o', oxdbId] else: cmd += ['-i', self.itemId] ox.makedirs(os.path.join(settings.MEDIA_ROOT,self.path())) diff --git a/pandora/item/views.py b/pandora/item/views.py index 4581cc47..e52d394a 100644 --- a/pandora/item/views.py +++ b/pandora/item/views.py @@ -690,7 +690,7 @@ def poster(request, id, size=None): if item.poster: return image_to_response(item.poster, size) else: - poster_path = os.path.join(settings.STATIC_ROOT, 'png/posterDark.48.png') + poster_path = os.path.join(settings.STATIC_ROOT, 'png/poster.png') response = HttpFileResponse(poster_path, content_type='image/jpeg') response['Cache-Control'] = 'no-cache' return response diff --git a/static/js/pandora/filesView.js b/static/js/pandora/filesView.js index 75314d1a..e67162cf 100644 --- a/static/js/pandora/filesView.js +++ b/static/js/pandora/filesView.js @@ -33,15 +33,27 @@ pandora.ui.filesView = function(options, self) { }) .appendTo(self.$toolbar); - self.$moveButton = Ox.Button({ + self.$ignoreButton = Ox.Button({ disabled: 'true', - title: 'Move Selected Files...' + title: 'Ignore Selected Files...' }) .css({ float: 'right', margin: '4px' }) - .appendTo(self.$toolbar); + .appendTo(self.$toolbar) + .bindEvent({ + click: function() { + var data = { + ids: self.selected, + ignore: true + }; + pandora.api.editFiles(data, function(result) { + Ox.Request.clearCache(); + self.$filesList.reloadList(); + }); + } + }); self.$filesList = Ox.TextList({ columns: [ @@ -417,6 +429,9 @@ pandora.ui.filesView = function(options, self) { self.$moveButton.options({ disabled: self.selected.length === 0 }); + self.$ignoreButton.options({ + disabled: self.selected.length === 0 + }); } return that; diff --git a/static/js/pandora/info.js b/static/js/pandora/info.js index 2cf7b2c8..412d13d3 100644 --- a/static/js/pandora/info.js +++ b/static/js/pandora/info.js @@ -66,8 +66,11 @@ pandora.ui.info = function() { previousView == 'video' && resizeInfo(); }); } else if (view == 'video') { - pandora.api.get({id: id, keys: ['duration', 'videoRatio']}, function(result) { - if (result.data) { + pandora.api.get({ + id: id, + keys: ['duration', 'rendered', 'videoRatio'] + }, function(result) { + if (result.data && result.data.rendered) { pandora.$ui.videoPreview && pandora.$ui.videoPreview.removeElement(); pandora.$ui.videoPreview = pandora.ui.videoPreview({ duration: result.data.duration, diff --git a/static/png/poster.png b/static/png/poster.png new file mode 100644 index 00000000..8659c91d Binary files /dev/null and b/static/png/poster.png differ diff --git a/static/png/posterDark.48.png b/static/png/posterDark.48.png deleted file mode 100644 index 6e2968af..00000000 Binary files a/static/png/posterDark.48.png and /dev/null differ