finish the "Upload Files" implementation; the AssetHelper had some bugs and needed to close the pop-up dialog that it created.

This commit is contained in:
Scott Walters 2013-09-25 14:42:14 -05:00
parent 690d87a668
commit 7900cec5e8

View file

@ -82,6 +82,7 @@ ENDHTML
$tabform->hidden({name=>"op",value=>"assetHelper"}); $tabform->hidden({name=>"op",value=>"assetHelper"});
$tabform->hidden({name=>"helperId",value=>$self->id}); $tabform->hidden({name=>"helperId",value=>$self->id});
$tabform->hidden({name=>"method",value=>"uploadFilesSave"}); $tabform->hidden({name=>"method",value=>"uploadFilesSave"});
$tabform->hidden({name=>"assetId",value=> $session->form->process('assetId'), });
if ($session->config->get("enableSaveAndCommit")) { if ($session->config->get("enableSaveAndCommit")) {
$tabform->submitAppend(WebGUI::Form::submit($session, { $tabform->submitAppend(WebGUI::Form::submit($session, {
name => "saveAndCommit", name => "saveAndCommit",
@ -197,9 +198,8 @@ sub www_uploadFilesSave {
value => $asset->$property_name, value => $asset->$property_name,
}; };
# process the form element # process the form element
my $defaultValue = $overrides->{defaultValue} // $asset->$property; my $defaultValue = $overrides->{defaultValue} // $asset->$property_name;
$asset_defaults{$property_name} = $form->process( $property_name, $fieldType, $defaultValue, $fieldHash ); $asset_defaults{$property_name} = $form->process( $property_name, $fieldType, $defaultValue, $fieldHash );
} ## end foreach my $property ( $asset...) } ## end foreach my $property ( $asset...)
@ -235,12 +235,21 @@ sub www_uploadFilesSave {
} }
$tempStorage->delete; $tempStorage->delete;
if (WebGUI::VersionTag->autoCommitWorkingIfEnabled($session, { WebGUI::VersionTag->autoCommitWorkingIfEnabled($session, {
override => scalar $session->form->process("saveAndCommit"), override => scalar $session->form->process("saveAndCommit"),
allowComments => 1, allowComments => 1,
returnUrl => $asset->getUrl, returnUrl => $asset->getUrl,
}) eq 'redirect') { });
return undef;
# return JavaScript to close the pop-up window that got opened in process().
return qq{
<html><head>
<script type="text/javascript">
window.parent.admin.showInfoMessage( "File upload successful." );
window.parent.admin.closeModalDialog();
</script>
</head></html>
}; };
} }