diff --git a/lib/admin.pm b/lib/admin.pm index 98ed447..213f819 100644 --- a/lib/admin.pm +++ b/lib/admin.pm @@ -36,6 +36,8 @@ our $VERSION = '3'; my $xs = new XML::Simple; my $xc = $xs->XMLin( '/etc/ngcp-www-admin/admin.conf', ForceArray => 0); +__PACKAGE__->config(session => { flash_to_stash => 1 }); + __PACKAGE__->config( %$xc ); __PACKAGE__->config( 'Plugin::Authentication' => { default_realm => 'default', diff --git a/lib/admin/Controller/domain.pm b/lib/admin/Controller/domain.pm index 3bc446b..d6c67e2 100644 --- a/lib/admin/Controller/domain.pm +++ b/lib/admin/Controller/domain.pm @@ -148,7 +148,7 @@ sub create_rewrite : Local { elsif($field eq 'callee') { $a = 'callee'.$a; } if($direction eq 'in') { $a = 'i'.$a; } elsif($direction eq 'out') { $a = 'o'.$a; } - my $m = $a.'msg'; my $e = $a.'err'; + my $m = $a.'msg'; my $e = $a.'err'; my $d = $a.'detail'; unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'voip', 'create_domain_rewrite', @@ -173,6 +173,9 @@ sub create_rewrite : Local { else { $messages{$e} = 'Client.Voip.InputErrorFound'; + if($c->session->{prov_error_object}) { + $c->flash->{$d} = $c->session->{prov_error_object}; + } } } else { } @@ -208,7 +211,7 @@ sub edit_rewrite : Local { elsif($field eq 'callee') { $a = 'callee'.$a; } if($direction eq 'in') { $a = 'i'.$a; } elsif($direction eq 'out') { $a = 'o'.$a; } - my $m = $a.'msg'; my $e = $a.'err'; + my $m = $a.'msg'; my $e = $a.'err'; my $d = $a.'detail'; unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'voip', 'update_domain_rewrite', @@ -233,6 +236,9 @@ sub edit_rewrite : Local { else { $messages{$e} = 'Client.Voip.InputErrorFound'; + if($c->session->{prov_error_object}) { + $c->flash->{$d} = $c->session->{prov_error_object}; + } } } else { } diff --git a/lib/admin/Controller/peering.pm b/lib/admin/Controller/peering.pm index cae8815..05b206d 100644 --- a/lib/admin/Controller/peering.pm +++ b/lib/admin/Controller/peering.pm @@ -571,7 +571,7 @@ sub create_rewrite : Local { elsif($field eq 'callee') { $a = 'callee'.$a; } if($direction eq 'in') { $a = 'i'.$a; } elsif($direction eq 'out') { $a = 'o'.$a; } - my $m = $a.'msg'; my $e = $a.'err'; + my $m = $a.'msg'; my $e = $a.'err'; my $d = $a.'detail'; # $messages{crulerr} = 'Client.Syntax.MalformedPeerGroupName' # unless $callee_prefix =~ /^[a-zA-Z0-9_\.\-\@\:]+/; @@ -599,6 +599,9 @@ sub create_rewrite : Local { else { $messages{$e} = 'Client.Voip.InputErrorFound'; + if($c->session->{prov_error_object}) { + $c->flash->{$d} = $c->session->{prov_error_object}; + } } } else { # TODO: add proper values here and set them in tt @@ -731,7 +734,7 @@ sub edit_rewrite : Local { elsif($field eq 'callee') { $a = 'callee'.$a; } if($direction eq 'in') { $a = 'i'.$a; } elsif($direction eq 'out') { $a = 'o'.$a; } - my $m = $a.'msg'; my $e = $a.'err'; + my $m = $a.'msg'; my $e = $a.'err'; my $d = $a.'detail'; # $messages{crulerr} = 'Client.Syntax.MalformedPeerGroupName' # unless $callee_prefix =~ /^[a-zA-Z0-9_\.\-\@\:]+/; @@ -759,6 +762,9 @@ sub edit_rewrite : Local { else { $messages{$e} = 'Client.Voip.InputErrorFound'; + if($c->session->{prov_error_object}) { + $c->flash->{$d} = $c->session->{prov_error_object}; + } } } else { # TODO: add proper values here and set them in tt diff --git a/root/tt/domain_rewrite.tt b/root/tt/domain_rewrite.tt index dfc0a11..cf60c74 100644 --- a/root/tt/domain_rewrite.tt +++ b/root/tt/domain_rewrite.tt @@ -54,6 +54,7 @@ field = 'caller', msg = messages.icallermsg, err = messages.icallererr, + detail = icallerdetail, rules = domain.rewrite_in_caller, }, { @@ -64,6 +65,7 @@ field = 'callee', msg = messages.icalleemsg, err = messages.icalleeerr, + detail = icalleedetail, rules = domain.rewrite_in_callee, }, { @@ -74,6 +76,7 @@ field = 'caller', msg = messages.ocallermsg, err = messages.ocallererr, + detail = ocallerdetail, rules = domain.rewrite_out_caller, }, ] @@ -84,7 +87,7 @@

[% rw.header %]

[% IF rw.msg %]
[% rw.msg %]
[% END %] - [% IF rw.err %]
[% rw.err %]
[% END %] + [% IF rw.err %]
[% rw.err %][% IF rw.detail %]
[% rw.detail %][% END %]
[% END %]