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

View file

@ -50,7 +50,7 @@ my %tag = ( tagId => $versionTag->getId, status => "pending" );
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Tests # 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" ); ok( $bgroup, "Badge group exists" );
is( $bgroup->{emsAssetId}, $ems->getId, 'ems asset id set correctly' ); is( $bgroup->{emsAssetId}, $ems->getId, 'ems asset id set correctly' );
is( $bgroup->{name}, "Inmate Beating", 'badge name 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',
);