diff --git a/pandora/document/tasks.py b/pandora/document/tasks.py index b75fbefe..7bede1a9 100644 --- a/pandora/document/tasks.py +++ b/pandora/document/tasks.py @@ -9,7 +9,7 @@ def extract_fulltext(id): @task(queue='default') -def builk_edit(data, username): +def bulk_edit(data, username): from django.db import transaction from . import models from item.models import Item diff --git a/pandora/document/views.py b/pandora/document/views.py index f22bed81..5fc47466 100644 --- a/pandora/document/views.py +++ b/pandora/document/views.py @@ -133,7 +133,7 @@ def editDocument(request, data): if data['id']: if isinstance(data['id'], list): add_changelog(request, data) - t = tasks.builk_edit.delay(data, request.user.username) + t = tasks.bulk_edit.delay(data, request.user.username) response['data']['taskId'] = t.task_id else: document = models.Document.get(data['id']) diff --git a/static/js/addFilesDialog.js b/static/js/addFilesDialog.js index 2a4e023c..0f75c07e 100644 --- a/static/js/addFilesDialog.js +++ b/static/js/addFilesDialog.js @@ -106,7 +106,7 @@ pandora.ui.addFilesDialog = function(options) { }); var selectItems = []; - if (!pandora.site.itemRequiresVideo && pandora.user.ui.item) { + if (pandora.user.ui.item && options.editable) { selectItems.push({ id: 'add', title: Ox._( @@ -114,31 +114,23 @@ pandora.ui.addFilesDialog = function(options) { [pandora.site.itemName.singular.toLowerCase()] ) }); + } + if (options.items.length > 1) { selectItems.push({ - id: 'one', + id: 'multiple', title: Ox._( - options.items.length > 1 ? 'Create new {0} with multiple parts' : 'Create new {0}', - [pandora.site.itemName.singular.toLowerCase()] - ) - }); - } else { - if (options.items.length > 1) { - selectItems.push({ - id: 'multiple', - title: Ox._( - 'Create multiple {0}', - [pandora.site.itemName.plural.toLowerCase()] - ) - }); - } - selectItems.push({ - id: 'one', - title: Ox._( - 'Create one {0} with multiple parts', - [pandora.site.itemName.singular.toLowerCase()] + 'Create multiple {0}', + [pandora.site.itemName.plural.toLowerCase()] ) }); } + selectItems.push({ + id: 'one', + title: Ox._( + options.items.length > 1 ? 'Create new {0} with multiple parts' : 'Create new {0}', + [pandora.site.itemName.singular.toLowerCase()] + ) + }); var $select = Ox.Select({ items: selectItems, width: 256 diff --git a/static/js/addItemDialog.js b/static/js/addItemDialog.js index d41a9ed3..ab1213f2 100644 --- a/static/js/addItemDialog.js +++ b/static/js/addItemDialog.js @@ -270,10 +270,16 @@ pandora.ui.addItemDialog = function(options) { } else { $screen.stop(); that.close(); - pandora.ui.addFilesDialog({ - action: selected, - items: items - }).open(); + (pandora.user.ui.item ? pandora.api.get : Ox.noop)({ + id: pandora.user.ui.item, + keys: ['editable'] + }, function(result) { + pandora.ui.addFilesDialog({ + action: selected, + items: items, + editable: pandora.user.ui.item && result.data.editable + }).open(); + }) } }) } diff --git a/static/js/collection.js b/static/js/collection.js index a6f6f70a..eb397602 100644 --- a/static/js/collection.js +++ b/static/js/collection.js @@ -51,6 +51,7 @@ pandora.ui.collection = function() { }), callback); return Ox.clone(data, true); }, + keys: keys, scrollbarVisible: true, selected: ui.collectionSelection, sort: ui.collectionSort.concat([ diff --git a/static/js/mediaExistsDialog.js b/static/js/mediaExistsDialog.js index a6bcad98..4388b652 100644 --- a/static/js/mediaExistsDialog.js +++ b/static/js/mediaExistsDialog.js @@ -58,10 +58,16 @@ pandora.ui.mediaExistsDialog = function(options) { return existing.indexOf(item.oshash) == -1; }); that.close(); - pandora.ui.addFilesDialog({ - action: options.action, - items: items - }).open(); + (pandora.user.ui.item ? pandora.api.get : Ox.noop)({ + id: pandora.user.ui.item, + keys: ['editable'] + }, function(result) { + pandora.ui.addFilesDialog({ + action: options.action, + items: items, + editable: pandora.user.ui.item && result.data.editable + }).open(); + }) } }) ];