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 'ajax_src' => ( isa => 'Str', is => 'rw' );
has 'table_fields' => ( isa => 'ArrayRef', is => 'rw' ); has 'table_fields' => ( isa => 'ArrayRef', is => 'rw' );
has 'table_titles' => ( 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 { sub render_element {
my ($self) = @_; my ($self) = @_;
@ -27,6 +28,7 @@ sub render_element {
table_fields => $self->table_fields, table_fields => $self->table_fields,
table_titles => $self->table_titles, table_titles => $self->table_titles,
errors => $self->errors, errors => $self->errors,
language_file => $self->language_file,
}; };
my $t = new Template({ my $t = new Template({
ABSOLUTE => 1, 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(@_); 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 =head1 NAME
NGCP::Panel::View::HTML - TT View for NGCP::Panel NGCP::Panel::View::HTML - TT View for NGCP::Panel

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

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

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

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

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

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

@ -9,7 +9,7 @@
helper.close_target = close_target; helper.close_target = close_target;
helper.create_flag = create_flag; helper.create_flag = create_flag;
helper.edit_flag = edit_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" ); helper.ajax_uri = c.uri_for_action( "/ncos/ajax" );
UNLESS c.user.read_only; UNLESS c.user.read_only;

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

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

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

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

Loading…
Cancel
Save