migrate Wizard getForm to FormBuilder

This commit is contained in:
Doug Bell 2011-02-16 17:11:11 -06:00
parent 2170509c0f
commit 37f392b4c8
4 changed files with 59 additions and 54 deletions

View file

@ -18,7 +18,7 @@ WebGUI::Wizard -- Generate wizards
# Show a form for the first step # Show a form for the first step
sub www_step1 { sub www_step1 {
my ( $self ) = @_; my ( $self ) = @_;
my $f = $self->getForm; # Get a WebGUI::HTMLForm my $f = $self->getForm; # Get a WebGUI::FormBuilder
$f->text( name => "user" ); $f->text( name => "user" );
return $f->print; return $f->print;
} }
@ -244,14 +244,14 @@ sub getCurrentStep {
=head2 getForm ( [step] ) =head2 getForm ( [step] )
Get a WebGUI::HTMLForm object for a given step, defaulting to the current step. Get a WebGUI::FormBuilder object for a given step, defaulting to the current step.
=cut =cut
sub getForm { sub getForm {
my ( $self, $step ) = @_; my ( $self, $step ) = @_;
$step ||= $self->getCurrentStep; $step ||= $self->getCurrentStep;
my $form = WebGUI::HTMLForm->new( $self->session, my $form = WebGUI::FormBuilder->new( $self->session,
action => $self->getStepUrl( $step ), action => $self->getStepUrl( $step ),
); );
return $form; return $form;

View file

@ -188,17 +188,21 @@ sub www_pickStyle {
$synopsis =~ s{(https?://\S+)}{<a href="$1">$1</a>}g; $synopsis =~ s{(https?://\S+)}{<a href="$1">$1</a>}g;
$synopsis = WebGUI::HTML::format( $synopsis ); $synopsis = WebGUI::HTML::format( $synopsis );
$f->raw( my $label = '<img src="' . $style->getExampleImageUrl . '" height="150" />'
'<div class="stylePicker' . $class . '"><label><input type="radio" name="styleTemplateId" value="' . $style->getId . '"/>' . '<div class="title">' . $style->getTitle . '</div>'
. '<img src="' . $style->getExampleImageUrl . '" height="150" />' . '<div class="synopsis">' . $synopsis . '</div></label>'
. '<div class="title">' . $style->getTitle . '</div>' ;
. '<div class="synopsis">' . $synopsis . '</div></label>'
. '</div>' $f->addField( "radio",
name => "styleTemplateId",
value => $style->getId,
subtext => $label,
rowClass => 'stylePicker' . $class,
extras => 'onclick="this.form.submit()"',
); );
} }
$f->submit;
$output .= $f->print; $output .= $f->toHtml;
return $output . '<div style="clear: both;">&nbsp;</div>'; return $output . '<div style="clear: both;">&nbsp;</div>';
} }

View file

@ -148,40 +148,40 @@ sub www_adminAccount {
my $legend = $i18n->get('admin account'); my $legend = $i18n->get('admin account');
my $u = WebGUI::User->new( $session, '3' ); my $u = WebGUI::User->new( $session, '3' );
my $f = $self->getForm; my $f = $self->getForm;
$f->text( $f->addField( "text",
-name => "username", name => "username",
-value => $u->username, value => $u->username,
-label => $i18n->get(50), label => $i18n->get(50),
-hoverHelp => $i18n->get('50 setup description'), hoverHelp => $i18n->get('50 setup description'),
); );
$f->text( $f->addField( "text",
-name => "identifier", name => "identifier",
-value => "123qwe", value => "123qwe",
-label => $i18n->get(51), label => $i18n->get(51),
-hoverHelp => $i18n->get('51 description'), hoverHelp => $i18n->get('51 description'),
-subtext => '<div style=\"font-size: 10px;\">(' . $i18n->get("password clear text") . ')</div>' subtext => '<div style=\"font-size: 10px;\">(' . $i18n->get("password clear text") . ')</div>'
); );
$f->email( $f->addField( "email",
-name => "email", name => "email",
-value => $u->get("email"), value => $u->get("email"),
-label => $i18n->get(56), label => $i18n->get(56),
-hoverHelp => $i18n->get('56 description'), hoverHelp => $i18n->get('56 description'),
); );
$f->timeZone( $f->addField( "timeZone",
-name => "timeZone", name => "timeZone",
-value => $u->get("timeZone"), value => $u->get("timeZone"),
-label => $i18n->get( 'timezone', 'DateTime' ), label => $i18n->get( 'timezone', 'DateTime' ),
-hoverHelp => $i18n->get('timezone help'), hoverHelp => $i18n->get('timezone help'),
); );
$f->selectBox( $f->addField( "selectBox",
-name => "language", name => "language",
-value => $u->get("language"), value => $u->get("language"),
-label => $i18n->get('304'), label => $i18n->get('304'),
-hoverHelp => $i18n->get('language help'), hoverHelp => $i18n->get('language help'),
-options => $i18n->getLanguages(), options => $i18n->getLanguages(),
); );
$f->submit; $f->addField( "submit", name => "submit" );
return '<h1>' . $legend . '</h1>' . $f->print; return '<h1>' . $legend . '</h1>' . $f->toHtml;
} }
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
@ -252,26 +252,26 @@ sub www_companyInformation {
my $output = '<h1>' . $i18n->get('company information') . '</h1>'; my $output = '<h1>' . $i18n->get('company information') . '</h1>';
my $f = $self->getForm; my $f = $self->getForm;
$f->text( $f->addField( "text",
name => "companyName", name => "companyName",
value => $session->setting->get("companyName"), value => $session->setting->get("companyName"),
label => $i18n->get(125), label => $i18n->get(125),
hoverHelp => $i18n->get('125 description'), hoverHelp => $i18n->get('125 description'),
); );
$f->email( $f->addField( "email",
name => "companyEmail", name => "companyEmail",
value => $session->setting->get("companyEmail"), value => $session->setting->get("companyEmail"),
label => $i18n->get(126), label => $i18n->get(126),
hoverHelp => $i18n->get('126 description'), hoverHelp => $i18n->get('126 description'),
); );
$f->url( $f->addField( "url",
name => "companyURL", name => "companyURL",
value => $session->setting->get("companyURL"), value => $session->setting->get("companyURL"),
label => $i18n->get(127), label => $i18n->get(127),
hoverHelp => $i18n->get('127 description'), hoverHelp => $i18n->get('127 description'),
); );
$f->submit; $f->addField( "submit", name => "submit" );
$output .= $f->print; $output .= $f->toHtml;
return $output; return $output;
} }
@ -310,18 +310,18 @@ sub www_siteStats {
my $i18n = WebGUI::International->new( $session, "WebGUI" ); my $i18n = WebGUI::International->new( $session, "WebGUI" );
my $enableForm = $self->getForm; my $enableForm = $self->getForm;
$enableForm->hidden( name => "enableStats", value => 1 ); $enableForm->addField( "hidden", name => "enableStats", value => 1 );
$enableForm->submit( value => $i18n->get( 'enable', 'Activity_SendWebguiStats' ) ); $enableForm->addField( "submit", name => 'submit', value => $i18n->get( 'enable', 'Activity_SendWebguiStats' ) );
my $disableForm = $self->getForm; my $disableForm = $self->getForm;
$disableForm->hidden( name => "enableStats", value => 0 ); $disableForm->addField( "hidden", name => "enableStats", value => 0 );
$disableForm->submit( value => $i18n->get( 'disable', 'Activity_SendWebguiStats' ) ); $disableForm->addField( "submit", name => 'submit', value => $i18n->get( 'disable', 'Activity_SendWebguiStats' ) );
my $output = '<h1>' . $i18n->get( 'topicName', 'Activity_SendWebguiStats' ) . '</h1>'; my $output = '<h1>' . $i18n->get( 'topicName', 'Activity_SendWebguiStats' ) . '</h1>';
$output .= ' <p>' . $i18n->get( 'why to send', 'Activity_SendWebguiStats' ) . '</p> $output .= ' <p>' . $i18n->get( 'why to send', 'Activity_SendWebguiStats' ) . '</p>
<p>' . $i18n->get( 'would you participate', 'Activity_SendWebguiStats' ) . '</p> <p>' . $i18n->get( 'would you participate', 'Activity_SendWebguiStats' ) . '</p>
<div style="float: left">' . $enableForm->print . '</div><div style="float: left">' <div style="float: left">' . $enableForm->toHtml . '</div><div style="float: left">'
. $disableForm->print . $disableForm->toHtml
. '</div>' . '</div>'
. '<div style="clear: both;">&nbsp;</div>' . '<div style="clear: both;">&nbsp;</div>'
; ;
@ -341,6 +341,7 @@ sub www_siteStatsSave {
my ( $self ) = @_; my ( $self ) = @_;
my $session = $self->session; my $session = $self->session;
my $form = $session->form; my $form = $session->form;
use WebGUI::Operation::Statistics;
WebGUI::Operation::Statistics::www_enableSendWebguiStats($session) if ( $form->get("enableStats") ); WebGUI::Operation::Statistics::www_enableSendWebguiStats($session) if ( $form->get("enableStats") );
return; return;
} }

View file

@ -50,12 +50,12 @@ is( $wizard->getCurrentStep, "one", "SetCurrentStep" );
# Form Start and End # Form Start and End
my $f = $wizard->getForm; my $f = $wizard->getForm;
isa_ok( $f, 'WebGUI::HTMLForm' ); isa_ok( $f, 'WebGUI::FormBuilder' );
my $html = $f->print; my $html = $f->toHtml;
like( $html, qr/wizard_class.+WebGUI::Wizard/, 'getFormStart wizard_class' ); like( $html, qr/wizard_class.+WebGUI::Wizard/, 'getFormStart wizard_class' );
like( $html, qr/wizard_step.+one/, 'getFormStart wizard_step' ); like( $html, qr/wizard_step.+one/, 'getFormStart wizard_step' );
$html = $wizard->getForm( "two" )->print; $html = $wizard->getForm( "two" )->toHtml;
like( $html, qr/wizard_step.+two/, 'getFormStart wizard_step override step' ); like( $html, qr/wizard_step.+two/, 'getFormStart wizard_step override step' );
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------