migrate www_editMetaDataField to FormBuilder

This commit is contained in:
Doug Bell 2011-02-10 17:29:46 -06:00
parent cc53006912
commit 98816c4b6b
2 changed files with 84 additions and 39 deletions

View file

@ -246,52 +246,53 @@ sub www_editMetaDataField {
$fieldInfo = $self->getMetaDataFields($self->session->form->process("fid"));
}
my $fid = $self->session->form->process("fid") || "new";
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
$f->hidden(
-name => "func",
-value => "editMetaDataFieldSave"
my $f = WebGUI::FormBuilder->new($self->session,action=>$self->getUrl);
$f->addField( "hidden",
name => "func",
value => "editMetaDataFieldSave"
);
$f->hidden(
-name => "fid",
-value => $fid
$f->addField( "hidden",
name => "fid",
value => $fid
);
$f->readOnly(
-value=>$fid,
-label=>$i18n->get('Field Id'),
$f->addField( "readOnly",
name => 'fid_display',
value=>$fid,
label=>$i18n->get('Field Id'),
);
$f->text(
-name=>"fieldName",
-label=>$i18n->get('Field name'),
-hoverHelp=>$i18n->get('Field Name description'),
-value=>$fieldInfo->{fieldName}
$f->addField( "text",
name=>"fieldName",
label=>$i18n->get('Field name'),
hoverHelp=>$i18n->get('Field Name description'),
value=>$fieldInfo->{fieldName}
);
$f->textarea(
-name=>"description",
-label=>$i18n->get(85),
-hoverHelp=>$i18n->get('Metadata Description description'),
-value=>$fieldInfo->{description}
$f->addField( "textarea",
name=>"description",
label=>$i18n->get(85),
hoverHelp=>$i18n->get('Metadata Description description'),
value=>$fieldInfo->{description}
);
$f->fieldType(
-name=>"fieldType",
-label=>$i18n->get(486),
-hoverHelp=>$i18n->get('Data Type description'),
-value=>$fieldInfo->{fieldType} || "text",
-types=> [ qw /text integer yesNo selectBox radioList checkList/ ]
$f->addField( "fieldType",
name=>"fieldType",
label=>$i18n->get(486),
hoverHelp=>$i18n->get('Data Type description'),
value=>$fieldInfo->{fieldType} || "text",
types=> [ qw /text integer yesNo selectBox radioList checkList/ ]
);
$f->textarea(
-name=>"possibleValues",
-label=>$i18n->get(487),
-hoverHelp=>$i18n->get('Possible Values description'),
-value=>$fieldInfo->{possibleValues}
$f->addField( "textarea",
name=>"possibleValues",
label=>$i18n->get(487),
hoverHelp=>$i18n->get('Possible Values description'),
value=>$fieldInfo->{possibleValues}
);
$f->textarea(
-name=>"defaultValue",
-label=>$i18n->get('default value'),
-hoverHelp=>$i18n->get('default value description'),
-value=>$fieldInfo->{defaultValue}
$f->addField( "textarea",
name=>"defaultValue",
label=>$i18n->get('default value'),
hoverHelp=>$i18n->get('default value description'),
value=>$fieldInfo->{defaultValue}
);
$f->submit();
return $ac->render($f->print, $i18n->get('Edit Metadata'));
$f->addField( "submit", name => "submit" );
return '<h1>' . $i18n->get('Edit Metadata') . '</h1>' . $f->toHtml;
}
#-------------------------------------------------------------------

View file

@ -17,10 +17,11 @@ use WebGUI::Test;
use WebGUI::Session;
use WebGUI::Asset;
use WebGUI::VersionTag;
use WebGUI::Test::Mechanize;
use Test::More; # increment this value for each test you create
use Test::Deep;
plan tests => 13;
plan tests => 22;
my $session = WebGUI::Test->session;
$session->user({userId => 3});
@ -232,4 +233,47 @@ sub buildNameIndex {
return $nameStruct;
}
#----------------------------------------------------------------------------
# www_editMetaDataField
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok( '/' );
$mech->session->user({userId => 3});
my %fieldInfo = (
fieldName => 'rsi_type',
description => 'What type of RSI this content will inflict upon you',
fieldType => 'text',
);
$mech->get_ok( $folder->getUrl( 'func=editMetaDataField' ) );
$mech->submit_form_ok({
fields => \%fieldInfo,
},
"add a new field",
);
my $field = ( grep { $_->{fieldName} eq $fieldInfo{fieldName} } values %{$folder->getMetaDataFields} )[0];
ok( $field );
cmp_deeply(
$field,
superhashof( \%fieldInfo ),
"Field info saved correctly",
);
$mech->get_ok( $folder->getUrl( 'func=editMetaDataField;fid=' . $field->{fieldId} ) );
$fieldInfo{ description } = 'What type of RSI this content will protect you from';
$mech->submit_form_ok({
fields => \%fieldInfo,
},
"edit an existing field",
);
$field = $folder->getMetaDataFields( $field->{fieldId} );
ok( $field );
cmp_deeply(
$field,
superhashof( \%fieldInfo ),
"Field info saved correctly",
);
#vim:ft=perl