make FormBuilder use toTemplateVars for fields

This commit is contained in:
Doug Bell 2010-12-09 18:31:42 -06:00
parent ca42a0544d
commit 60cc89fb4f
3 changed files with 15 additions and 11 deletions

View file

@ -712,7 +712,11 @@ to re-create it in a template.
sub toTemplateVars {
my ( $self ) = @_;
my %var = %{$self->get};
my %var = (
%{$self->get},
label => $self->getLabel,
label_nohover => $self->get('label'),
);
return \%var;
}

View file

@ -221,15 +221,9 @@ sub toTemplateVars {
$var->{ "${prefix}_fieldloop" } = $fieldLoop;
for my $field ( @{$self->fields} ) {
my $name = $field->get('name');
my $props = {
name => $name,
field => $field->toHtml,
label => $field->getLabel,
label_nohover => $field->get('label'),
pretext => $field->get('pretext'),
subtext => $field->get('subtext'),
hoverhelp => $field->get('hoverhelp'),
};
my $props = $field->toTemplateVars;
# Add the whole field to the vars
$props->{ field } = $field->toHtml;
for my $key ( keys %{$props} ) {
$var->{ "${prefix}_field_${name}_${key}" } = $props->{$key};
}

View file

@ -71,7 +71,13 @@ sub t_03_toTemplateVars : Test(2) {
name => 'form1',
});
cmp_deeply $form->get, superhashof({ name => 'form1' }), 'toTemplateVars hashref';
cmp_deeply $form->toTemplateVars,
superhashof({
name => 'form1',
label => $form->getLabel,
label_nohover => $form->get('label'),
}),
'toTemplateVars hashref';
isnt $form->toTemplateVars, $form->get, 'toTemplateVars creates safe hashref';
}