From 0f6fc8a99506d866bc4804377bb9a4ddfc5128b1 Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Fri, 9 Aug 2013 11:57:14 +0200 Subject: [PATCH] Fix preference handling with max_occur > 1. --- lib/NGCP/Panel/Form/Preferences.pm | 6 +++++- lib/NGCP/Panel/Utils.pm | 14 +++++++++----- share/templates/helpers/pref_table.tt | 6 +++--- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/lib/NGCP/Panel/Form/Preferences.pm b/lib/NGCP/Panel/Form/Preferences.pm index 197b52d244..ca5e26e9d9 100644 --- a/lib/NGCP/Panel/Form/Preferences.pm +++ b/lib/NGCP/Panel/Form/Preferences.pm @@ -97,6 +97,7 @@ sub field_list { } $field->{label} = $meta->attribute; push @field_list, $field; + use Data::Printer; print ">>>>>>>>>>>>>>>>>>>>> pref fields:\n"; p @field_list; } return \@field_list; @@ -128,8 +129,11 @@ has_block 'actions' => ( sub create_structure { my $self = shift; my $field_list = shift; - + + print ">>>>>>>>>>>>> create_structure\n"; $self->block('fields')->render_list($field_list); + print ">>>>>>>>>>>>> end of create_structure\n"; + use Data::Printer; p $self; } 1; diff --git a/lib/NGCP/Panel/Utils.pm b/lib/NGCP/Panel/Utils.pm index 1b27519c95..f0a125bd8a 100644 --- a/lib/NGCP/Panel/Utils.pm +++ b/lib/NGCP/Panel/Utils.pm @@ -118,8 +118,6 @@ sub create_preference_form { $preselected_value = $c->stash->{preference_values}->[0]; } - $c->log->debug("Preselected value: $preselected_value"); - my $form = NGCP::Panel::Form::Preferences->new({ fields_data => [{ meta => $c->stash->{preference_meta}, @@ -133,9 +131,15 @@ sub create_preference_form { my $posted = ($c->request->method eq 'POST'); $form->process( - posted => 1, - params => $posted ? $c->request->params : { $c->stash->{preference_meta}->attribute => $preselected_value }, - action => $edit_uri, + posted => $posted, + params => $c->request->params, + item => { $c->stash->{preference_meta}->attribute => $preselected_value }, + ); + NGCP::Panel::Utils::Navigation::check_form_buttons( + c => $c, + form => $form, + fields => {}, + back_uri => $c->req->uri, ); if($posted && $form->validated) { my $preference_id = $c->stash->{preference}->first ? $c->stash->{preference}->first->id : undef; diff --git a/share/templates/helpers/pref_table.tt b/share/templates/helpers/pref_table.tt index 933cdd69a9..10ab0b598a 100644 --- a/share/templates/helpers/pref_table.tt +++ b/share/templates/helpers/pref_table.tt @@ -144,14 +144,14 @@ [% END %] [% IF v.value.substr(0,1) == '#' %] - + [% ELSE %] - + [% END %] [% END %]
- [% helper.form.fields.2.render %] + [% helper.form.field(helper.preference_meta.attribute).render %] [% helper.form.field("add").render %]