make FormBuilder use toTemplateVars for fields
This commit is contained in:
parent
ca42a0544d
commit
60cc89fb4f
3 changed files with 15 additions and 11 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue