diff --git a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm
index b6b4f8cc2..cb0cba03e 100644
--- a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm
+++ b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm
@@ -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 => ''.$error.'',
+ $f->addField( "readOnly",
+ name => 'error',
+ label => $i18n2->get('error'),
+ value => ''.$error.'',
);
} 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);
}
#-------------------------------------------------------------------
diff --git a/t/Asset/Wobject/EventManagementSystem.t b/t/Asset/Wobject/EventManagementSystem.t
index 5f710f9fc..63508fcd9 100644
--- a/t/Asset/Wobject/EventManagementSystem.t
+++ b/t/Asset/Wobject/EventManagementSystem.t
@@ -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',
+);
+
+