migrate EMS editEventMetaField to FormBuilder

This commit is contained in:
Doug Bell 2011-01-31 13:40:55 -06:00
parent 4d30821231
commit 1bacbdb6c4
2 changed files with 101 additions and 45 deletions

View file

@ -1104,7 +1104,7 @@ sub www_editEventMetaField {
return $self->session->privilege->insufficient unless ($self->canEdit);
my $i18n2 = WebGUI::International->new($self->session,'Asset_EventManagementSystem');
my $i18n = WebGUI::International->new($self->session,"WebGUIProfile");
my $f = WebGUI::HTMLForm->new($self->session, (
my $f = WebGUI::FormBuilder->new($self->session, (
action => $self->getUrl("func=editEventMetaFieldSave;fieldId=".$fieldId)
));
my $data = {};
@ -1119,10 +1119,10 @@ sub www_editEventMetaField {
defaultValues => $self->session->form->process("defaultValues",'textarea'),
helpText => $self->session->form->process("helpText",'textarea'),
};
$f->readOnly(
-name => 'error',
-label => $i18n2->get('error'),
-value => '<span style="color:red;font-weight:bold">'.$error.'</span>',
$f->addField( "readOnly",
name => 'error',
label => $i18n2->get('error'),
value => '<span style="color:red;font-weight:bold">'.$error.'</span>',
);
} elsif ($fieldId ne 'new') {
$data = $self->session->db->quickHashRef("select * from EMSEventMetaField where fieldId=?",[$fieldId]);
@ -1135,53 +1135,53 @@ sub www_editEventMetaField {
required => 0,
};
}
$f->text(
-name => "label",
-label => $i18n2->get('label'),
-hoverHelp => $i18n2->get('label help'),
-value => $data->{label},
-extras=>(($data->{label} eq $i18n2->get('type label here'))?' style="color:#bbbbbb" ':'').' onblur="if(!this.value){this.value=\''.$i18n2->get('type label here').'\';this.style.color=\'#bbbbbb\';}" onfocus="if(this.value == \''.$i18n2->get('type label here').'\'){this.value=\'\';this.style.color=\'\';}"',
$f->addField( "text",
name => "label",
label => $i18n2->get('label'),
hoverHelp => $i18n2->get('label help'),
value => $data->{label},
extras=>(($data->{label} eq $i18n2->get('type label here'))?' style="color:#bbbbbb" ':'').' onblur="if(!this.value){this.value=\''.$i18n2->get('type label here').'\';this.style.color=\'#bbbbbb\';}" onfocus="if(this.value == \''.$i18n2->get('type label here').'\'){this.value=\'\';this.style.color=\'\';}"',
);
$f->yesNo(
-name=>"visible",
-label=>$i18n->get('473a'),
-hoverHelp=>$i18n->get('473a description'),
-value=>$data->{visible},
$f->addField( "yesNo",
name=>"visible",
label=>$i18n->get('473a'),
hoverHelp=>$i18n->get('473a description'),
value=>$data->{visible},
defaultValue=>1,
);
$f->yesNo(
-name=>"required",
-label=>$i18n->get(474),
-hoverHelp=>$i18n->get('474 description'),
-value=>$data->{required}
$f->addField( "yesNo",
name=>"required",
label=>$i18n->get(474),
hoverHelp=>$i18n->get('474 description'),
value=>$data->{required}
);
$f->fieldType(
-name=>"dataType",
-label=>$i18n->get(486),
-hoverHelp=>$i18n->get('486 description'),
-value=>ucfirst $data->{dataType},
-defaultValue=>"Text",
$f->addField( "fieldType",
name=>"dataType",
label=>$i18n->get(486),
hoverHelp=>$i18n->get('486 description'),
value=>ucfirst $data->{dataType},
defaultValue=>"Text",
);
$f->textarea(
-name => "possibleValues",
-label => $i18n->get(487),
-hoverHelp => $i18n->get('487 description'),
-value => $data->{possibleValues},
$f->addField( "textarea",
name => "possibleValues",
label => $i18n->get(487),
hoverHelp => $i18n->get('487 description'),
value => $data->{possibleValues},
);
$f->textarea(
-name => "defaultValues",
-label => $i18n->get(488),
-hoverHelp => $i18n->get('488 description'),
-value => $data->{defaultValues},
$f->addField( "textarea",
name => "defaultValues",
label => $i18n->get(488),
hoverHelp => $i18n->get('488 description'),
value => $data->{defaultValues},
);
$f->textarea(
-name => "helpText",
-label => $i18n2->get('meta field help text'),
-hoverHelp => $i18n2->get('meta field help text description'),
-value => $data->{helpText},
$f->addField( "textarea",
name => "helpText",
label => $i18n2->get('meta field help text'),
hoverHelp => $i18n2->get('meta field help text description'),
value => $data->{helpText},
);
$f->submit;
return $self->processStyle($f->print);
$f->addField( "submit", name => "submit" );
return $self->processStyle($f->toHtml);
}
#-------------------------------------------------------------------

View file

@ -50,7 +50,7 @@ my %tag = ( tagId => $versionTag->getId, status => "pending" );
#----------------------------------------------------------------------------
# Tests
plan tests => 51; # Increment this number for each test you create
plan tests => 60; # Increment this number for each test you create
#----------------------------------------------------------------------------
@ -675,3 +675,59 @@ $bgroup = $session->db->quickHashRef(
ok( $bgroup, "Badge group exists" );
is( $bgroup->{emsAssetId}, $ems->getId, 'ems asset id set correctly' );
is( $bgroup->{name}, "Inmate Beating", 'badge name set correctly' );
#----------------------------------------------------------------------------
# www_editEventMetaField
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok('/');
$mech->session->user({ userId => 3 });
# Create a new one
my %metaField = (
label => 'Security Level',
visible => 1,
required => 1,
dataType => 'Text',
helpText => 'What security level is required for this event?',
);
$mech->get_ok( $ems->getUrl( 'func=editEventMetaField' ), 'Get form to create new meta field' );
$mech->submit_form_ok( {
fields => { %metaField },
}, 'create a new meta field' );
# Meta field exists
my $field = $session->db->quickHashRef(
"SELECT * FROM EMSEventMetaField WHERE assetId=?",
[ $ems->getId ],
);
ok( $field, 'meta field exists' );
cmp_deeply(
$field,
superhashof( { %metaField, assetId => $ems->getId } ),
'meta field contains correct data',
);
# Edit existing one
$metaField{ helpText } = "This is new help text";
$mech->get_ok(
$ems->getUrl( 'func=editEventMetaField;fieldId=' . $field->{fieldId} ),
'Get form to edit meta field'
);
$mech->submit_form_ok( {
fields => { %metaField },
}, 'create a new meta field' );
# Meta field still exists
my $field = $session->db->quickHashRef(
"SELECT * FROM EMSEventMetaField WHERE assetId=?",
[ $ems->getId ],
);
ok( $field, 'meta field exists' );
cmp_deeply(
$field,
superhashof( { %metaField, assetId => $ems->getId } ),
'meta field contains correct data',
);