From 0a67593bb0969ee06146366d39f72c5ad76f29c0 Mon Sep 17 00:00:00 2001 From: Doug Bell Date: Wed, 2 Feb 2011 15:24:44 -0600 Subject: [PATCH] migrate EMS manageRegistrant to FormBuilder --- .../Asset/Wobject/EventManagementSystem.pm | 45 ++++++++--------- t/Asset/Wobject/EventManagementSystem.t | 48 ++++++++++++++++++- 2 files changed, 67 insertions(+), 26 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm index 0f0c178de..d9f52586f 100644 --- a/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm +++ b/lib/WebGUI/Asset/Wobject/EventManagementSystem.pm @@ -2294,78 +2294,78 @@ sub www_manageRegistrant { } # build form - my $f = WebGUI::HTMLForm->new($session, action=>$self->getUrl, tableExtras=>'class="manageRegistrant"'); - $f->submit; - $f->hidden(name=>"func", value=>"editRegistrantSave"); - $f->hidden(name=>'badgeId', value=>$badgeId); - $f->readOnly( + my $f = WebGUI::FormBuilder->new($session, action=>$self->getUrl, extras=>'class="manageRegistrant"'); + $f->addField( "submit", name => "submit" ); + $f->addField( "hidden",name=>"func", value=>"editRegistrantSave"); + $f->addField( "hidden",name=>'badgeId', value=>$badgeId); + $f->addField( "readOnly", label => $i18n->get('badge number'), value => $registrant->{badgeNumber}, ); - $f->user( + $f->addField( "user", name => 'userId', label => $i18n->get('user'), defaultValue => $registrant->{userId}, ); - $f->text( + $f->addField( "text", name => 'name', label => $i18n->get('name','Shop'), defaultValue => $registrant->{name}, ); - $f->text( + $f->addField( "text", name => 'organization', label => $i18n->get('organization'), defaultValue => $registrant->{organization}, ); - $f->text( + $f->addField( "text", name => 'address1', label => $i18n->get('address','Shop'), defaultValue => $registrant->{address1}, ); - $f->text( + $f->addField( "text", name => 'address2', defaultValue => $registrant->{address2}, ); - $f->text( + $f->addField( "text", name => 'address3', defaultValue => $registrant->{address3}, ); - $f->text( + $f->addField( "text", name => 'city', label => $i18n->get('city','Shop'), defaultValue => $registrant->{city}, ); - $f->text( + $f->addField( "text", name => 'state', label => $i18n->get('state','Shop'), defaultValue => $registrant->{state}, ); - $f->zipcode( + $f->addField( "zipcode", name => 'zipcode', label => $i18n->get('code','Shop'), defaultValue => $registrant->{zipcode}, ); - $f->country( + $f->addField( "country", name => 'country', label => $i18n->get('country','Shop'), defaultValue => $registrant->{country}, ); - $f->phone( + $f->addField( "phone", name => 'phoneNumber', label => $i18n->get('phone number','Shop'), defaultValue => $registrant->{phoneNumber}, ); - $f->email( + $f->addField( "email", name => 'email', label => $i18n->get('email address'), defaultValue => $registrant->{email} ); - $f->textarea( + $f->addField( "textarea", name => 'notes', label => $i18n->get('notes'), defaultValue => $registrant->{notes} ); - $f->submit; + $f->addField( "submit", name => "submit" ); # build html my $output = q| @@ -2378,7 +2378,7 @@ sub www_manageRegistrant {
- |.$f->print.q| + |.$f->toHtml.q|
|; @@ -2445,11 +2445,6 @@ sub www_manageRegistrant { # render $session->style->setCss($session->url->extras('/yui/build/reset-fonts-grids/reset-fonts-grids.css')); - $session->style->setRawHeadTags(q| - - |); return $self->processStyle($output); } diff --git a/t/Asset/Wobject/EventManagementSystem.t b/t/Asset/Wobject/EventManagementSystem.t index ac8e7c1fe..847957523 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 => 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' ); + + +#---------------------------------------------------------------------------- +# 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", +); +