Fix the parsing of possible values for list type metadata fields.
This commit is contained in:
parent
303c725d1f
commit
ece881d855
2 changed files with 19 additions and 17 deletions
|
|
@ -4,6 +4,7 @@
|
|||
- Stats now send over SSL rather than straight HTTP.
|
||||
- fixed #8914: epoch for calendar/List View for Calendar
|
||||
- fixed #10044: Gallery: Javascript, CSS included in body
|
||||
- fixed #10409: Problem using hash in metadata possible values
|
||||
|
||||
7.7.7
|
||||
- Added EMS Schedule table
|
||||
|
|
|
|||
|
|
@ -842,27 +842,28 @@ adding additional tabs.
|
|||
=cut
|
||||
|
||||
sub getEditForm {
|
||||
my $self = shift;
|
||||
my $i18n = WebGUI::International->new($self->session, "Asset");
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $i18n = WebGUI::International->new($session, "Asset");
|
||||
my $ago = $i18n->get("ago");
|
||||
my $tabform = WebGUI::TabForm->new($self->session,undef,undef,$self->getUrl());
|
||||
my $overrides = $self->session->config->get("assets/".$self->get("className"));
|
||||
my $tabform = WebGUI::TabForm->new($session,undef,undef,$self->getUrl());
|
||||
my $overrides = $session->config->get("assets/".$self->get("className"));
|
||||
|
||||
# Set the appropriate URL
|
||||
# If we're adding a new asset, don't set anything
|
||||
if ( $self->session->form->get( "func" ) ne "add" ) {
|
||||
if ( $session->form->get( "func" ) ne "add" ) {
|
||||
$tabform->formHeader( { action => $self->getUrl, method => "POST" } );
|
||||
}
|
||||
|
||||
if ($self->session->config->get("enableSaveAndCommit")) {
|
||||
$tabform->submitAppend(WebGUI::Form::submit($self->session, {
|
||||
if ($session->config->get("enableSaveAndCommit")) {
|
||||
$tabform->submitAppend(WebGUI::Form::submit($session, {
|
||||
name => "saveAndCommit",
|
||||
value => $i18n->get("save and commit"),
|
||||
}));
|
||||
}
|
||||
|
||||
$tabform->submitAppend(
|
||||
WebGUI::Form::submit ( $self->session, {
|
||||
WebGUI::Form::submit ( $session, {
|
||||
name => "saveAndReturn",
|
||||
value => $i18n->get( "apply" ),
|
||||
} )
|
||||
|
|
@ -876,7 +877,7 @@ sub getEditForm {
|
|||
my $class;
|
||||
if ($self->getId eq "new") {
|
||||
$assetId = "new";
|
||||
$class = $self->session->form->process("class","className");
|
||||
$class = $session->form->process("class","className");
|
||||
}
|
||||
else {
|
||||
# revision history
|
||||
|
|
@ -884,13 +885,13 @@ sub getEditForm {
|
|||
$class = $self->get('className');
|
||||
my $ac = $self->getAdminConsole;
|
||||
$ac->addSubmenuItem($self->getUrl("func=manageRevisions"),$i18n->get("revisions").":");
|
||||
my $rs = $self->session->db->read("select revisionDate from assetData where assetId=? order by revisionDate desc limit 5", [$assetId]);
|
||||
my $rs = $session->db->read("select revisionDate from assetData where assetId=? order by revisionDate desc limit 5", [$assetId]);
|
||||
while (my ($version) = $rs->array) {
|
||||
my ($interval, $units) = $self->session->datetime->secondsToInterval(time() - $version);
|
||||
my ($interval, $units) = $session->datetime->secondsToInterval(time() - $version);
|
||||
$ac->addSubmenuItem($self->getUrl("func=edit;revision=".$version), $interval." ".$units." ".$ago);
|
||||
}
|
||||
}
|
||||
if ($self->session->form->process("proceed")) {
|
||||
if ($session->form->process("proceed")) {
|
||||
$tabform->hidden({
|
||||
name=>"proceed",
|
||||
value=>$self->session->form->process("proceed")
|
||||
|
|
@ -915,7 +916,7 @@ sub getEditForm {
|
|||
}
|
||||
|
||||
# process errors
|
||||
my $errors = $self->session->stow->get('editFormErrors');
|
||||
my $errors = $session->stow->get('editFormErrors');
|
||||
if ($errors) {
|
||||
$tabform->getTab("properties")->readOnly(
|
||||
-value=>"<p>Some error(s) occurred:<ul><li>".join('</li><li>', @$errors).'</li></ul></p>',
|
||||
|
|
@ -923,7 +924,7 @@ sub getEditForm {
|
|||
}
|
||||
|
||||
# build the definition to the generate form
|
||||
my @definitions = reverse @{$self->definition($self->session)};
|
||||
my @definitions = reverse @{$self->definition($session)};
|
||||
tie my %baseProperties, 'Tie::IxHash';
|
||||
%baseProperties = (
|
||||
assetId => {
|
||||
|
|
@ -956,11 +957,11 @@ sub getEditForm {
|
|||
|
||||
# extend the definition with metadata
|
||||
tie my %extendedProperties, 'Tie::IxHash';
|
||||
if ($self->session->setting->get("metaDataEnabled")) {
|
||||
if ($session->setting->get("metaDataEnabled")) {
|
||||
my $meta = $self->getMetaDataFields();
|
||||
foreach my $field (keys %$meta) {
|
||||
my $fieldType = $meta->{$field}{fieldType} || "text";
|
||||
my $options = $meta->{$field}{possibleValues};
|
||||
my $options = WebGUI::Operation::Shared::secureEval($session,$meta->{$field}{possibleValues});
|
||||
# Add a "Select..." option on top of a select list to prevent from
|
||||
# saving the value on top of the list when no choice is made.
|
||||
if("\l$fieldType" eq "selectBox") {
|
||||
|
|
@ -978,7 +979,7 @@ sub getEditForm {
|
|||
};
|
||||
}
|
||||
# add metadata management
|
||||
if ($self->session->user->isAdmin) {
|
||||
if ($session->user->isAdmin) {
|
||||
$extendedProperties{_metadatamanagement} = {
|
||||
tab => "meta",
|
||||
fieldType => "readOnly",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue