From c49b38f615d81d13879c70ceb21057a3ec77c978 Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Mon, 4 Oct 2010 06:06:57 +0000 Subject: [PATCH] MINOR Disabled metadata upload in AssetAdmin by default, configurable through AssetAdmin::$metadata_upload_enabled. Feature needs UI review. (from r101106) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@111636 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/AssetAdmin.php | 15 ++++++++++++++- templates/AssetAdmin_uploadiframe.ss | 8 +++++--- thirdparty/multifile/multifile.css | 4 ++-- thirdparty/multifile/multifile.js | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/code/AssetAdmin.php b/code/AssetAdmin.php index a0811a5c..d98990e8 100755 --- a/code/AssetAdmin.php +++ b/code/AssetAdmin.php @@ -34,6 +34,15 @@ class AssetAdmin extends LeftAndMain { 'BatchActionsForm' ); + /** + * @var boolean Enables upload of additional textual information + * alongside each file (through multifile.js), which makes + * batch changes easier. + * + * CAUTION: This is an unstable API which might change. + */ + public static $metadata_upload_enabled = true; + /** * Return fake-ID "root" if no ID is found (needed to upload files into the root-folder) */ @@ -99,9 +108,13 @@ JS } /** + * Needs to be enabled through {@link AssetAdmin::$metadata_upload_enabled} + * * @return String */ function UploadMetadataHtml() { + if(!self::$metadata_upload_enabled) return; + $fields = singleton('File')->uploadMetadataFields(); // Return HTML with markers for easy replacement @@ -217,7 +230,7 @@ JS if($valid) { $newFile = $folder->addUploadToFolder($tmpFile); - if (isset($processedData[$filePostId])) { + if(self::$metadata_upload_enabled && isset($processedData[$filePostId])) { $fileObject = DataObject::get_by_id('File', $newFile); $metadataForm = new Form($this, 'MetadataForm', $fileObject->uploadMetadataFields(), new FieldSet()); $metadataForm->loadDataFrom($processedData[$filePostId]); diff --git a/templates/AssetAdmin_uploadiframe.ss b/templates/AssetAdmin_uploadiframe.ss index 0d13bead..75035213 100755 --- a/templates/AssetAdmin_uploadiframe.ss +++ b/templates/AssetAdmin_uploadiframe.ss @@ -21,9 +21,11 @@ <% if CanUpload %> $UploadForm - + <% if UploadMetadataHtml %> + + <% end_if %> <% else %> <% _t('PERMFAILED','You do not have permission to upload files into this folder.') %> <% end_if %> diff --git a/thirdparty/multifile/multifile.css b/thirdparty/multifile/multifile.css index 03536d07..898c01f8 100755 --- a/thirdparty/multifile/multifile.css +++ b/thirdparty/multifile/multifile.css @@ -69,14 +69,14 @@ margin-top: 5px; } -#Form_UploadForm_FilesList div { +#Form_UploadForm_FilesList .fileBox { width: auto; border: 1px solid #F1EFE2; padding: 5px; margin-bottom: 5px; } -#Form_UploadForm_FilesList div .delete:hover { +#Form_UploadForm_FilesList .fileBox .delete:hover { background: red; font-weight: bold; } diff --git a/thirdparty/multifile/multifile.js b/thirdparty/multifile/multifile.js index 205ba1a5..ec32c942 100755 --- a/thirdparty/multifile/multifile.js +++ b/thirdparty/multifile/multifile.js @@ -215,7 +215,7 @@ function MultiSelector( list_target, max, upload_button ){ }; MultiSelectorObserver.subscribe('onBeforeCreateRow', function(data) { - if (jQuery('#metadataFormTemplate')) { + if (jQuery('#metadataFormTemplate').length) { var parameters = jQuery('#metadataFormTemplate').clone(true); parameters.get(0).id = ''; parameters.find(":input[name!='']").each(function(i) { this.name = this.name.replace(/__X__/g, data[0]); });