migrate EMS manageRegistrant to FormBuilder

This commit is contained in:
Doug Bell 2011-02-02 15:24:44 -06:00
parent 0d45c660bd
commit 0a67593bb0
2 changed files with 67 additions and 26 deletions

View file

@ -2294,78 +2294,78 @@ sub www_manageRegistrant {
} }
# build form # build form
my $f = WebGUI::HTMLForm->new($session, action=>$self->getUrl, tableExtras=>'class="manageRegistrant"'); my $f = WebGUI::FormBuilder->new($session, action=>$self->getUrl, extras=>'class="manageRegistrant"');
$f->submit; $f->addField( "submit", name => "submit" );
$f->hidden(name=>"func", value=>"editRegistrantSave"); $f->addField( "hidden",name=>"func", value=>"editRegistrantSave");
$f->hidden(name=>'badgeId', value=>$badgeId); $f->addField( "hidden",name=>'badgeId', value=>$badgeId);
$f->readOnly( $f->addField( "readOnly",
label => $i18n->get('badge number'), label => $i18n->get('badge number'),
value => $registrant->{badgeNumber}, value => $registrant->{badgeNumber},
); );
$f->user( $f->addField( "user",
name => 'userId', name => 'userId',
label => $i18n->get('user'), label => $i18n->get('user'),
defaultValue => $registrant->{userId}, defaultValue => $registrant->{userId},
); );
$f->text( $f->addField( "text",
name => 'name', name => 'name',
label => $i18n->get('name','Shop'), label => $i18n->get('name','Shop'),
defaultValue => $registrant->{name}, defaultValue => $registrant->{name},
); );
$f->text( $f->addField( "text",
name => 'organization', name => 'organization',
label => $i18n->get('organization'), label => $i18n->get('organization'),
defaultValue => $registrant->{organization}, defaultValue => $registrant->{organization},
); );
$f->text( $f->addField( "text",
name => 'address1', name => 'address1',
label => $i18n->get('address','Shop'), label => $i18n->get('address','Shop'),
defaultValue => $registrant->{address1}, defaultValue => $registrant->{address1},
); );
$f->text( $f->addField( "text",
name => 'address2', name => 'address2',
defaultValue => $registrant->{address2}, defaultValue => $registrant->{address2},
); );
$f->text( $f->addField( "text",
name => 'address3', name => 'address3',
defaultValue => $registrant->{address3}, defaultValue => $registrant->{address3},
); );
$f->text( $f->addField( "text",
name => 'city', name => 'city',
label => $i18n->get('city','Shop'), label => $i18n->get('city','Shop'),
defaultValue => $registrant->{city}, defaultValue => $registrant->{city},
); );
$f->text( $f->addField( "text",
name => 'state', name => 'state',
label => $i18n->get('state','Shop'), label => $i18n->get('state','Shop'),
defaultValue => $registrant->{state}, defaultValue => $registrant->{state},
); );
$f->zipcode( $f->addField( "zipcode",
name => 'zipcode', name => 'zipcode',
label => $i18n->get('code','Shop'), label => $i18n->get('code','Shop'),
defaultValue => $registrant->{zipcode}, defaultValue => $registrant->{zipcode},
); );
$f->country( $f->addField( "country",
name => 'country', name => 'country',
label => $i18n->get('country','Shop'), label => $i18n->get('country','Shop'),
defaultValue => $registrant->{country}, defaultValue => $registrant->{country},
); );
$f->phone( $f->addField( "phone",
name => 'phoneNumber', name => 'phoneNumber',
label => $i18n->get('phone number','Shop'), label => $i18n->get('phone number','Shop'),
defaultValue => $registrant->{phoneNumber}, defaultValue => $registrant->{phoneNumber},
); );
$f->email( $f->addField( "email",
name => 'email', name => 'email',
label => $i18n->get('email address'), label => $i18n->get('email address'),
defaultValue => $registrant->{email} defaultValue => $registrant->{email}
); );
$f->textarea( $f->addField( "textarea",
name => 'notes', name => 'notes',
label => $i18n->get('notes'), label => $i18n->get('notes'),
defaultValue => $registrant->{notes} defaultValue => $registrant->{notes}
); );
$f->submit; $f->addField( "submit", name => "submit" );
# build html # build html
my $output = q| my $output = q|
@ -2378,7 +2378,7 @@ sub www_manageRegistrant {
<div id="bd"> <div id="bd">
<div class="yui-gc"> <div class="yui-gc">
<div class="yui-u first"> <div class="yui-u first">
|.$f->print.q| |.$f->toHtml.q|
</div> </div>
<div class="yui-u"> <div class="yui-u">
|; |;
@ -2445,11 +2445,6 @@ sub www_manageRegistrant {
# render # render
$session->style->setCss($session->url->extras('/yui/build/reset-fonts-grids/reset-fonts-grids.css')); $session->style->setCss($session->url->extras('/yui/build/reset-fonts-grids/reset-fonts-grids.css'));
$session->style->setRawHeadTags(q|
<style type="text/css">
.manageRegistrant tbody tr td { padding: 2px;}
</style>
|);
return $self->processStyle($output); return $self->processStyle($output);
} }

View file

@ -50,7 +50,7 @@ my %tag = ( tagId => $versionTag->getId, status => "pending" );
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
# Tests # Tests
plan tests => 65; # Increment this number for each test you create plan tests => 70; # Increment this number for each test you create
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
@ -791,3 +791,49 @@ cmp_deeply(
], ],
'correct asset props are set' 'correct asset props are set'
); );
#----------------------------------------------------------------------------
# www_manageRegistrant
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->file );
$mech->get_ok('/');
$mech->session->user({ userId => 3 });
# Need a badge
my $badger = $ems->addChild({
className => 'WebGUI::Asset::Sku::EMSBadge',
title => 'Badgers',
});
# Add cart and complete checkout
my $regBadgeId
= $session->db->setRow( 'EMSRegistrant', 'badgeId', {
badgeId => "new",
badgeAssetId => $badger->getId,
emsAssetId => $ems->getId,
} );
$mech->get_ok( $ems->getUrl( 'func=manageRegistrant;badgeId=' . $regBadgeId ) );
my %reg = (
userId => '3',
name => 'Homer S.',
address1 => '742 Evergreen Terr.',
city => 'Springfield',
notes => 'Will need assistance.',
);
$mech->submit_form_ok({
fields => { %reg },
},
"save our registrant's information"
);
my $regInfo = $session->db->getRow( 'EMSRegistrant', 'badgeId', $regBadgeId );
cmp_deeply(
$regInfo,
superhashof( {
%reg,
badgeAssetId => $badger->getId,
emsAssetId => $ems->getId,
} ),
"Registrant info saved correctly",
);