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
sub www_step1 {
my ( $self ) = @_;
my $f = $self->getForm; # Get a WebGUI::HTMLForm
my $f = $self->getForm; # Get a WebGUI::FormBuilder
$f->text( name => "user" );
return $f->print;
}
@ -244,14 +244,14 @@ sub getCurrentStep {
=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
sub getForm {
my ( $self, $step ) = @_;
$step ||= $self->getCurrentStep;
my $form = WebGUI::HTMLForm->new( $self->session,
my $form = WebGUI::FormBuilder->new( $self->session,
action => $self->getStepUrl( $step ),
);
return $form;

View file

@ -188,17 +188,21 @@ sub www_pickStyle {
$synopsis =~ s{(https?://\S+)}{<a href="$1">$1</a>}g;
$synopsis = WebGUI::HTML::format( $synopsis );
$f->raw(
'<div class="stylePicker' . $class . '"><label><input type="radio" name="styleTemplateId" value="' . $style->getId . '"/>'
. '<img src="' . $style->getExampleImageUrl . '" height="150" />'
. '<div class="title">' . $style->getTitle . '</div>'
. '<div class="synopsis">' . $synopsis . '</div></label>'
. '</div>'
my $label = '<img src="' . $style->getExampleImageUrl . '" height="150" />'
. '<div class="title">' . $style->getTitle . '</div>'
. '<div class="synopsis">' . $synopsis . '</div></label>'
;
$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>';
}

View file

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

View file

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