MINOR Disabled metadata upload in AssetAdmin by default, configurable through AssetAdmin::$metadata_upload_enabled. Feature needs UI review.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.4@101106 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2010-03-16 02:28:29 +00:00 committed by Sam Minnee
parent fd42eae95b
commit 67e55a7f99
4 changed files with 22 additions and 7 deletions

View File

@ -41,6 +41,15 @@ class AssetAdmin extends LeftAndMain {
'deleteUnusedThumbnails' => 'ADMIN'
);
/**
* @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)
*/
@ -117,9 +126,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
@ -240,7 +253,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]);

View File

@ -21,9 +21,11 @@
<body>
<% if CanUpload %>
$UploadForm
<div id="metadataFormTemplate" style="display:none">
$UploadMetadataHtml
</div>
<% if UploadMetadataHtml %>
<div id="metadataFormTemplate" style="display:none">
$UploadMetadataHtml
</div>
<% end_if %>
<% else %>
<% _t('PERMFAILED','You do not have permission to upload files into this folder.') %>
<% end_if %>

View File

@ -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;
}

View File

@ -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]); });