MT#3961 translate HTML::FormHandler forms

gjungwirth/test_sleeps
Gerhard Jungwirth 11 years ago
parent 32bff2058a
commit 4ab0097744

@ -10,6 +10,7 @@ has 'template' => ( isa => 'Str',
has 'ajax_src' => ( isa => 'Str', is => 'rw' );
has 'table_fields' => ( isa => 'ArrayRef', is => 'rw' );
has 'table_titles' => ( isa => 'ArrayRef', is => 'rw' );
has 'language_file' => (isa => 'Str', is => 'rw', default => 'dataTables.default.js' );
sub render_element {
my ($self) = @_;
@ -27,6 +28,7 @@ sub render_element {
table_fields => $self->table_fields,
table_titles => $self->table_titles,
errors => $self->errors,
language_file => $self->language_file,
};
my $t = new Template({
ABSOLUTE => 1,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -15,8 +15,46 @@ __PACKAGE__->config(
URI::Escape::uri_unescape(@_);
},
},
expose_methods => [qw/translate_form/],
);
sub translate_form {
my ($self, $c, $form) = @_;
$self->_translate_fields_recursive($c, [$form->fields]);
return $form;
}
sub _translate_fields_recursive {
my ($self, $c, $fields) = @_;
for my $field (@$fields) {
$field->label( $c->loc($field->label) )
if $field->label;
if ($field->isa('HTML::FormHandler::Field::Submit')
|| $field->isa('HTML::FormHandler::Field::Button')) {
$field->value( $c->loc($field->value) );
}
if ($field->isa('HTML::FormHandler::Field::Select')) {
for my $option (@{ $field->options }) {
$option->{label} = $c->loc($option->{label});
}
}
if ($field->element_attr->{title}[0]) {
$field->element_attr->{title}[0] = $c->loc($field->element_attr->{title}[0]);
}
if ($field->isa('HTML::FormHandler::Field::Compound')) {
$self->_translate_fields_recursive($c,[$field->fields]);
}
if($field->isa('NGCP::Panel::Field::DataTable')) {
for my $t (@{ $field->table_titles }) {
$t = $c->loc($t);
}
$field->language_file( $c->loc($field->language_file) )
if ($field->language_file);
}
}
return;
}
=head1 NAME
NGCP::Panel::View::HTML - TT View for NGCP::Panel

@ -35,7 +35,7 @@
IF api_modal_flag;
PROCESS "helpers/modal.tt";
modal_header(m.name = "API key");
helper.form_object.render;
translate_form(helper.form_object).render;
modal_footer();
modal_script(m.close_target = helper.close_target);
END;

@ -82,6 +82,7 @@
[%
PROCESS "helpers/modal.tt";
modal_header(m.name = weekday.name);
form = translate_form(form);
-%]
<div class="modal-body">

@ -529,7 +529,7 @@
PROCESS "helpers/modal.tt";
modal_header(m.create_flag = create_flag,
m.name = description.defined ? description : c.loc("Subscriber"));
form.render;
translate_form(form).render;
modal_footer();
modal_script(m.close_target = close_target);
-%]
@ -541,7 +541,7 @@
PROCESS "helpers/modal.tt";
modal_header(m.create_flag=0,
m.name = c.loc("Settings"));
form.render;
translate_form(form).render;
modal_footer();
modal_script(m.close_target = close_target);
-%]
@ -550,7 +550,7 @@
PROCESS "helpers/modal.tt";
modal_header(m.create_flag=0, m.edit_flag=0,
m.name = c.loc("Deployed Device"));
form.render;
translate_form(form).render;
modal_footer();
modal_script(m.close_target = close_target);
-%]

@ -218,6 +218,7 @@ $(document).ready(function() {
PROCESS "helpers/modal.tt";
modal_header(m.create_flag=helper.create_flag,
m.name = helper.name);
helper.form_object = translate_form( helper.form_object );
helper.form_object.render;
modal_footer();
modal_script(m.close_target = helper.close_target);

@ -26,6 +26,9 @@ $(document).ready(function() {
"bInfo": true,
"iDisplayLength": 4,
'iShowPages': 5,
"oLanguage": {
"sUrl": "/js/i18n/[% language_file %]"
},
"sAjaxSource": "[% ajax_src %]",
"aoColumns": [

@ -31,6 +31,9 @@ $(document).ready(function() {
"bInfo": true,
"iDisplayLength": 4,
'iShowPages': 5,
"oLanguage": {
"sUrl": "/js/i18n/[% language_file %]"
},
"sAjaxSource": "[% ajax_src %]",
"aoColumns": [

@ -9,7 +9,7 @@
helper.close_target = close_target;
helper.create_flag = create_flag;
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.form_object = form.defined ? translate_form(form) : undef;
helper.ajax_uri = c.uri_for_action( "/ncos/ajax" );
UNLESS c.user.read_only;

@ -113,11 +113,7 @@
PROCESS "helpers/modal.tt";
modal_header(m.name = c.loc('Rule'),
m.create_flag = create_flag);
-%]
[% form.render() %]
[%
translate_form(form).render();
modal_footer();
modal_script(m.close_target = rules_uri);
-%]

@ -74,9 +74,7 @@
PROCESS "helpers/modal.tt";
modal_header(m.create_flag=0,
m.name = file_result.handle.name );
-%]
[% form.render -%]
[%
translate_form(form).render;
modal_footer();
-%]
<script>

@ -27,7 +27,7 @@
<div class="ngcp-separator"></div>
<div class="row-fluid">
[% form.render %]
[% translate_form(form).render %]
</div>
<div class="ngcp-separator"></div>

@ -237,6 +237,7 @@
PROCESS "helpers/modal.tt";
modal_header(m.create_flag=0,
m.name = description);
form = translate_form(form);
form.render;
modal_footer();
modal_script(m.close_target = close_target);

Loading…
Cancel
Save