From 1bacbdb6c4de3e282b58fe5114c3ce8e4b86c397 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Mon, 31 Jan 2011 13:40:55 -0600 Subject: [PATCH] migrate EMS editEventMetaField to FormBuilder --- .../Asset/Wobject/EventManagementSystem.pm | 88 +++++++++---------- t/Asset/Wobject/EventManagementSystem.t | 58 +++++++++++- 2 files changed, 101 insertions(+), 45 deletions(-) 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', +); + +