From 2bebc005482e0bd88b555802e554868b5190bf45 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Sun, 21 Sep 2014 18:39:59 +0200 Subject: [PATCH] MT#7705 - Add logging for the rest of Controller/* modules. Message.pm: add data size check and trim the value if > 500 length --- lib/NGCP/Panel/Controller/Customer.pm | 5 +- lib/NGCP/Panel/Controller/Device.pm | 72 +++++-- lib/NGCP/Panel/Controller/Domain.pm | 30 ++- lib/NGCP/Panel/Controller/EmailTemplate.pm | 16 +- lib/NGCP/Panel/Controller/Invoice.pm | 13 +- lib/NGCP/Panel/Controller/InvoiceTemplate.pm | 20 +- lib/NGCP/Panel/Controller/NCOS.pm | 51 +++-- lib/NGCP/Panel/Controller/NumberBlock.pm | 22 +- lib/NGCP/Panel/Controller/Peering.pm | 66 ++++-- lib/NGCP/Panel/Controller/Reseller.pm | 37 ++-- lib/NGCP/Panel/Controller/Rewrite.pm | 50 +++-- lib/NGCP/Panel/Controller/Security.pm | 14 +- lib/NGCP/Panel/Controller/Sound.pm | 32 ++- lib/NGCP/Panel/Controller/Subscriber.pm | 194 +++++++++++++----- .../Panel/Controller/SubscriberProfile.pm | 60 ++++-- lib/NGCP/Panel/Utils/Message.pm | 8 +- 16 files changed, 511 insertions(+), 179 deletions(-) diff --git a/lib/NGCP/Panel/Controller/Customer.pm b/lib/NGCP/Panel/Controller/Customer.pm index fffef7b4ad..41252a3458 100644 --- a/lib/NGCP/Panel/Controller/Customer.pm +++ b/lib/NGCP/Panel/Controller/Customer.pm @@ -1358,7 +1358,10 @@ sub pbx_device_sync :Chained('pbx_device_base') :PathPart('sync') :Args(0) { my $out = capturex([0], "sh", @cmd_args); $c->log->debug(">>>>>>>>>>>> got output:\n$out"); } - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully triggered config reload via SIP') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully triggered config reload via SIP'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/customer/details', [ $c->req->captures->[0] ])); return; } diff --git a/lib/NGCP/Panel/Controller/Device.pm b/lib/NGCP/Panel/Controller/Device.pm index 7ae5ab1f9b..b70b4b4867 100644 --- a/lib/NGCP/Panel/Controller/Device.pm +++ b/lib/NGCP/Panel/Controller/Device.pm @@ -227,8 +227,11 @@ sub devmod_create :Chained('base') :PathPart('model/create') :Args(0) :Does(ACL) delete $c->session->{created_objects}->{reseller}; $c->session->{created_objects}->{device} = { id => $devmod->id }; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully created device model')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully created device model'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -273,7 +276,13 @@ sub devmod_delete :Chained('devmod_base') :PathPart('delete') :Args(0) :Does(ACL try { $c->stash->{devmod}->delete; - $c->flash(messages => [{type => 'success', text => 'Device model successfully deleted' }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { id => $c->stash->{devmod}->id, + model => $c->stash->{devmod}->model, + vendor => $c->stash->{devmod}->vendor }, + desc => $c->loc('Device model successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -414,8 +423,14 @@ sub devmod_edit :Chained('devmod_base') :PathPart('edit') :Args(0) :Does(ACL) :A })->delete_all; delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => 'Successfully updated device model'}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { id => $c->stash->{devmod}->id, + model => $c->stash->{devmod}->model, + vendor => $c->stash->{devmod}->vendor }, + desc => $c->loc('Successfully updated device model'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -516,8 +531,11 @@ sub devfw_create :Chained('base') :PathPart('firmware/create') :Args(0) :Does(AC my $devfw = $devmod->create_related('autoprov_firmwares', $form->params); delete $c->session->{created_objects}->{device}; $c->session->{created_objects}->{firmware} = { id => $devfw->id }; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully created device firmware')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully created device firmware'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -562,7 +580,11 @@ sub devfw_delete :Chained('devfw_base') :PathPart('delete') :Args(0) { try { $c->stash->{devfw}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Device firmware successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{devfw}->get_inflated_columns }, + desc => $c->loc('Device firmware successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -613,8 +635,11 @@ sub devfw_edit :Chained('devfw_base') :PathPart('edit') :Args(0) { $c->stash->{devfw}->update($form->params); delete $c->session->{created_objects}->{device}; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated device firmware')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated device firmware'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -679,8 +704,11 @@ sub devconf_create :Chained('base') :PathPart('config/create') :Args(0) :Does(AC my $devconf = $devmod->create_related('autoprov_configs', $form->params); delete $c->session->{created_objects}->{device}; $c->session->{created_objects}->{config} = { id => $devconf->id }; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully created device configuration')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully created device configuration'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -725,7 +753,11 @@ sub devconf_delete :Chained('devconf_base') :PathPart('delete') :Args(0) { try { $c->stash->{devconf}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Device configuration successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{devconf}->get_inflated_columns }, + desc => $c->loc('Device configuration successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -771,13 +803,16 @@ sub devconf_edit :Chained('devconf_base') :PathPart('edit') :Args(0) { use Data::Printer; p $form->params; $c->stash->{devconf}->update($form->params); delete $c->session->{created_objects}->{device}; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated device configuration')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated device configuration'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => "Failed to update device configuration", + desc => $c->loc('Failed to update device configuration'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/device')); @@ -838,8 +873,11 @@ sub devprof_create :Chained('base') :PathPart('profile/create') :Args(0) :Does(A $c->model('DB')->resultset('autoprov_profiles')->create($form->params); delete $c->session->{created_objects}->{config}; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully created device profile')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully created device profile'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -923,7 +961,11 @@ sub devprof_delete :Chained('devprof_base') :PathPart('delete') :Args(0) :Does(A try { $c->stash->{devprof}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Device profile successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{devprof}->get_inflated_columns }, + desc => $c->loc('Device profile successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -969,8 +1011,12 @@ sub devprof_edit :Chained('devprof_base') :PathPart('edit') :Args(0) :Does(ACL) $c->stash->{devprof}->update($form->params); delete $c->session->{created_objects}->{config}; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated device profile')}]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{devprof}->get_inflated_columns }, + desc => $c->loc('Successfully updated device profile'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/Domain.pm b/lib/NGCP/Panel/Controller/Domain.pm index 6db9431451..2c6a72aeee 100644 --- a/lib/NGCP/Panel/Controller/Domain.pm +++ b/lib/NGCP/Panel/Controller/Domain.pm @@ -145,7 +145,10 @@ sub create :Chained('dom_list') :PathPart('create') :Args() { } $self->_sip_domain_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Domain successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Domain successfully created'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/domain')); } @@ -160,7 +163,12 @@ sub base :Chained('/domain/dom_list') :PathPart('') :CaptureArgs(1) { my ($self, $c, $domain_id) = @_; unless($domain_id && $domain_id->is_integer) { - $c->flash(messages => [{type => 'error', text => $c->loc('Invalid domain id detected') }]); + $domain_id //= ''; + NGCP::Panel::Utils::Message->error( + c => $c, + data => { domain_id => $domain_id }, + desc => $c->loc('Invalid domain id detected'), + ); $c->response->redirect($c->uri_for()); $c->detach; return; @@ -168,7 +176,10 @@ sub base :Chained('/domain/dom_list') :PathPart('') :CaptureArgs(1) { my $res = $c->stash->{dom_rs}->find($domain_id); unless(defined($res)) { - $c->flash(messages => [{type => 'error', text => $c->loc('Domain does not exist') }]); + NGCP::Panel::Utils::Message->error( + c => $c, + desc => $c->loc('Domain does not exist'), + ); $c->response->redirect($c->uri_for()); $c->detach; return; @@ -214,8 +225,10 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) { } $self->_sip_domain_reload($c); - - $c->flash(messages => [{type => 'success', text => $c->loc('Domain successfully updated') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Domain successfully updated'), + ); $c->response->redirect($c->uri_for()); return; } @@ -251,8 +264,11 @@ sub delete :Chained('base') :PathPart('delete') :Args(0) { } $self->_sip_domain_reload($c); - - $c->flash(messages => [{type => 'success', text => $c->loc('Domain successfully deleted!') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{domain_result}->get_inflated_columns }, + desc => $c->loc('Domain successfully deleted!'), + ); $c->response->redirect($c->uri_for()); } diff --git a/lib/NGCP/Panel/Controller/EmailTemplate.pm b/lib/NGCP/Panel/Controller/EmailTemplate.pm index 82256af8ad..bf34655e72 100644 --- a/lib/NGCP/Panel/Controller/EmailTemplate.pm +++ b/lib/NGCP/Panel/Controller/EmailTemplate.pm @@ -104,7 +104,10 @@ sub tmpl_create :Chained('tmpl_list') :PathPart('create') :Args(0) { }); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('Email template successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Email template successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -165,7 +168,11 @@ sub tmpl_delete :Chained('tmpl_base') :PathPart('delete') { }); } $c->stash->{tmpl}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Email template successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{tmpl}->get_inflated_columns }, + desc => $c->loc('Email template successfully deleted'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -215,7 +222,10 @@ sub tmpl_edit :Chained('tmpl_base') :PathPart('edit') { }); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('Email template successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Email template successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/Invoice.pm b/lib/NGCP/Panel/Controller/Invoice.pm index 2022fef73f..b9714795e6 100644 --- a/lib/NGCP/Panel/Controller/Invoice.pm +++ b/lib/NGCP/Panel/Controller/Invoice.pm @@ -352,7 +352,12 @@ sub create :Chained('inv_list') :PathPart('create') :Args() :Does(ACL) :ACLDetac serial => $serial, data => $pdf, }); - $c->flash(messages => [{type => 'success', text => $c->loc('Invoice #[_1] successfully created', $invoice->id)}]); + NGCP::Panel::Utils::Message->info( + c => $c, + cname => 'create', + log => $vars->{invoice}, + desc => $c->loc('Invoice #[_1] successfully created', $invoice->id), + ); }); } catch($e) { NGCP::Panel::Utils::Message->error( @@ -376,7 +381,11 @@ sub delete :Chained('base') :PathPart('delete') { $schema->txn_do(sub{ $c->stash->{inv}->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Invoice successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{inv}->get_inflated_columns }, + desc => $c->loc('Invoice successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/InvoiceTemplate.pm b/lib/NGCP/Panel/Controller/InvoiceTemplate.pm index f3d21327f6..ccb16496b5 100644 --- a/lib/NGCP/Panel/Controller/InvoiceTemplate.pm +++ b/lib/NGCP/Panel/Controller/InvoiceTemplate.pm @@ -153,12 +153,15 @@ sub create :Chained('template_list') :PathPart('create') :Args() { delete $c->session->{created_objects}->{reseller}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Invoice template successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Invoice template successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create invoice template.'), + desc => $c->loc('Failed to create invoice template'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/invoicetemplate')); @@ -219,12 +222,15 @@ sub edit_info :Chained('base') :PathPart('editinfo') { delete $c->session->{created_objects}->{reseller}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Invoice template successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Invoice template successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update invoice template.'), + desc => $c->loc('Failed to update invoice template'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/invoicetemplate')); @@ -242,7 +248,11 @@ sub delete :Chained('base') :PathPart('delete') { $schema->txn_do(sub{ $c->stash->{tmpl}->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Invoice template successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{tmpl}->get_inflated_columns }, + desc => $c->loc('Invoice template successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/NCOS.pm b/lib/NGCP/Panel/Controller/NCOS.pm index 9e53ecb219..0c5cfbbb81 100644 --- a/lib/NGCP/Panel/Controller/NCOS.pm +++ b/lib/NGCP/Panel/Controller/NCOS.pm @@ -118,12 +118,15 @@ sub edit :Chained('base') :PathPart('edit') { delete $form->values->{reseller}; $level->update($form->values); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('NCOS level successfully updated') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('NCOS level successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update NCOS level.'), + desc => $c->loc('Failed to update NCOS level'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/ncos')); @@ -154,12 +157,15 @@ sub delete :Chained('base') :PathPart('delete') { } $c->stash->{level_result}->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('NCOS level successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('NCOS level successfully deleted'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete NCOS level.'), + desc => $c->loc('Failed to delete NCOS level'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for); @@ -198,12 +204,15 @@ sub create :Chained('levels_list') :PathPart('create') :Args(0) { } $level->create($form->values); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('NCOS level successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('NCOS level successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create NCOS level.'), + desc => $c->loc('Failed to create NCOS level'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/ncos')); @@ -289,12 +298,16 @@ sub pattern_edit :Chained('pattern_base') :PathPart('edit') { if($posted && $form->validated) { try { $c->stash->{pattern_result}->update($form->values); - $c->flash(messages => [{type => 'success', text => $c->loc('NCOS pattern successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{pattern_result}->get_inflated_columns }, + desc => $c->loc('NCOS pattern successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update NCOS pattern.'), + desc => $c->loc('Failed to update NCOS pattern'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{pattern_base_uri}); @@ -312,12 +325,16 @@ sub pattern_delete :Chained('pattern_base') :PathPart('delete') { try { $c->stash->{pattern_result}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('NCOS pattern successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{pattern_result}->get_inflated_columns }, + desc => $c->loc('NCOS pattern successfully deleted'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete NCOS pattern.'), + desc => $c->loc('Failed to delete NCOS pattern'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{pattern_base_uri}); @@ -341,12 +358,15 @@ sub pattern_create :Chained('pattern_list') :PathPart('create') :Args(0) { if($posted && $form->validated) { try { $c->stash->{pattern_rs}->create($form->values); - $c->flash(messages => [{type => 'success', text => $c->loc('NCOS pattern successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('NCOS pattern successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create NCOS pattern.'), + desc => $c->loc('Failed to create NCOS pattern'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{pattern_base_uri}); @@ -378,12 +398,15 @@ sub pattern_edit_local_ac :Chained('pattern_list') :PathPart('edit_local_ac') :A if($posted && $form->validated) { try { $c->stash->{level_result}->update($form->values); - $c->flash(messages => [{type => 'success', text => $c->loc('Setting successfully updated') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('NCOS level setting successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update NCOS level setting.'), + desc => $c->loc('Failed to update NCOS level setting'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{pattern_base_uri}); diff --git a/lib/NGCP/Panel/Controller/NumberBlock.pm b/lib/NGCP/Panel/Controller/NumberBlock.pm index caff067b33..d63cadaeab 100644 --- a/lib/NGCP/Panel/Controller/NumberBlock.pm +++ b/lib/NGCP/Panel/Controller/NumberBlock.pm @@ -133,12 +133,15 @@ sub block_create :Chained('block_list') :PathPart('create') :Args(0) :Does(ACL) delete $c->session->{created_objects}->{reseller}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Number block successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Number block successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create number block.'), + desc => $c->loc('Failed to create number block'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/numberblock')); @@ -204,12 +207,15 @@ sub block_edit :Chained('block_base') :PathPart('edit') :Does(ACL) :ACLDetachTo( delete $c->session->{created_objects}->{reseller}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Number block successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Number block successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update number block.'), + desc => $c->loc('Failed to update number block'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/numberblock')); @@ -229,12 +235,16 @@ sub block_delete :Chained('block_base') :PathPart('delete') :Does(ACL) :ACLDetac $c->stash->{block}->search_related('voip_number_block_resellers')->delete; $c->stash->{block}->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Number block successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{block}->get_inflated_columns }, + desc => $c->loc('Number block successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete number block.'), + desc => $c->loc('Failed to delete number block'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/numberblock')); diff --git a/lib/NGCP/Panel/Controller/Peering.pm b/lib/NGCP/Panel/Controller/Peering.pm index e1e0557844..81eb842a35 100644 --- a/lib/NGCP/Panel/Controller/Peering.pm +++ b/lib/NGCP/Panel/Controller/Peering.pm @@ -119,12 +119,15 @@ sub edit :Chained('base') :PathPart('edit') { $c->stash->{group_result}->update($form->custom_get_values); $self->_sip_lcr_reload($c); delete $c->session->{created_objects}->{contract}; - $c->flash(messages => [{type => 'success', text => $c->loc('Peering group successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Peering group successfully updated'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update peering group.'), + desc => $c->loc('Failed to update peering group'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for) @@ -145,12 +148,16 @@ sub delete :Chained('base') :PathPart('delete') { } $c->stash->{group_result}->delete; $self->_sip_lcr_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Peering Group successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{group_result}->get_inflated_columns }, + desc => $c->loc('Peering Group successfully deleted'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete peering group.'), + desc => $c->loc('Failed to delete peering group'), ); }; $c->response->redirect($c->uri_for()); @@ -180,12 +187,15 @@ sub create :Chained('group_list') :PathPart('create') :Args(0) { $formdata ); $self->_sip_lcr_reload($c); delete $c->session->{created_objects}->{contract}; - $c->flash(messages => [{type => 'success', text => $c->loc('Peering group successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Peering group successfully created'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create peering group.'), + desc => $c->loc('Failed to create peering group'), ); }; $c->response->redirect($c->uri_for_action('/peering/root')); @@ -233,12 +243,15 @@ sub servers_create :Chained('servers_list') :PathPart('create') :Args(0) { try { $c->stash->{group_result}->voip_peer_hosts->create($form->values); $self->_sip_lcr_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Peering server successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Peering server successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create peering server.'), + desc => $c->loc('Failed to create peering server'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/peering/servers_root', [$c->req->captures->[0]])); @@ -300,12 +313,15 @@ sub servers_edit :Chained('servers_base') :PathPart('edit') :Args(0) { try { $c->stash->{server_result}->update($form->values); $self->_sip_lcr_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Peering server successfully updated') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Peering server successfully updated'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update peering server.'), + desc => $c->loc('Failed to update peering server'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/peering/servers_root', [$c->req->captures->[0]])); @@ -324,12 +340,16 @@ sub servers_delete :Chained('servers_base') :PathPart('delete') :Args(0) { try { $c->stash->{server_result}->delete; $self->_sip_lcr_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Peering server successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{server_result}->get_inflated_columns }, + desc => $c->loc('Peering server successfully deleted'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc("Failed to delete peering server."), + desc => $c->loc('Failed to delete peering server'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/peering/servers_root', [$c->req->captures->[0]])); @@ -452,12 +472,15 @@ sub rules_create :Chained('rules_list') :PathPart('create') :Args(0) { $form->values->{callee_prefix} //= ''; $c->stash->{group_result}->voip_peer_rules->create($form->values); $self->_sip_lcr_reload($c); - $c->flash(rules_messages => [{type => 'success', text => $c->loc('Peering rule successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Peering rule successfully created'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create peering rule.'), + desc => $c->loc('Failed to create peering rule'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/peering/servers_root', [$c->req->captures->[0]])); @@ -520,12 +543,15 @@ sub rules_edit :Chained('rules_base') :PathPart('edit') :Args(0) { $form->values->{callee_prefix} //= ''; $c->stash->{rule_result}->update($form->values); $self->_sip_lcr_reload($c); - $c->flash(rules_messages => [{type => 'success', text => $c->loc('Peering rule successfully changed') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Peering rule successfully changed'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc("Failed to update peering rule."), + desc => $c->loc('Failed to update peering rule'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/peering/servers_root', [$c->req->captures->[0]])); @@ -544,12 +570,16 @@ sub rules_delete :Chained('rules_base') :PathPart('delete') :Args(0) { try { $c->stash->{rule_result}->delete; $self->_sip_lcr_reload($c); - $c->flash(rules_messages => [{type => 'success', text => $c->loc('Peering rule successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{rule_result}->get_inflated_columns }, + desc => $c->loc('Peering rule successfully deleted'), + ); } catch ($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc("Failed to delete peering rule."), + desc => $c->loc('Failed to delete peering rule'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/peering/servers_root', [$c->req->captures->[0]])); diff --git a/lib/NGCP/Panel/Controller/Reseller.pm b/lib/NGCP/Panel/Controller/Reseller.pm index 8f9a47b0be..89f63b080a 100644 --- a/lib/NGCP/Panel/Controller/Reseller.pm +++ b/lib/NGCP/Panel/Controller/Reseller.pm @@ -90,12 +90,15 @@ sub create :Chained('list_reseller') :PathPart('create') :Args(0) :Does(ACL) :AC delete $c->session->{created_objects}->{contract}; $c->session->{created_objects}->{reseller} = { id => $reseller->id }; - $c->flash(messages => [{type => 'success', text => $c->loc('Reseller successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Reseller successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc("Failed to create reseller."), + desc => $c->loc('Failed to create reseller'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/reseller')); @@ -241,12 +244,15 @@ sub edit :Chained('base') :PathPart('edit') :Args(0) :Does(ACL) :ACLDetachTo('/d delete $c->session->{created_objects}->{contract}; delete $c->session->{edit_contract_id}; - $c->flash(messages => [{type => 'success', text => $c->loc('Reseller successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Reseller successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update reseller.'), + desc => $c->loc('Failed to update reseller'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/reseller')); @@ -282,12 +288,16 @@ sub terminate :Chained('base') :PathPart('terminate') :Args(0) :Does(ACL) :ACLDe $self->_handle_reseller_status_change($c,$reseller); } }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully terminated reseller')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $reseller->get_inflated_columns }, + desc => $c->loc('Successfully terminated reseller'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to terminate reseller.'), + desc => $c->loc('Failed to terminate reseller'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/reseller')); @@ -411,12 +421,13 @@ sub create_defaults :Path('create_defaults') :Args(0) :Does(ACL) :ACLDetachTo('/ NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => "Failed to create reseller.", + desc => $c->loc('Failed to create reseller'), ); }; - $c->flash(messages => [{type => 'success', text => - $c->loc("Reseller successfully created with login [_1] and password [_2], please review your settings below", - $defaults{admins}->{login},$defaults{admins}->{md5pass}) }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Reseller successfully created with login [_1] and password [_2], please review your settings below', $defaults{admins}->{login}, $defaults{admins}->{md5pass}), + ); $c->res->redirect($c->uri_for_action('/reseller/details', [$r{resellers}->id])); $c->detach; return; @@ -491,8 +502,10 @@ sub edit_branding_css :Chained('base') :PathPart('css/edit') :Args(0) :Does(ACL) $branding->update($form->params); } }); - - $c->flash(messages => [{type => 'success', text => $c->loc('Reseller branding successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Reseller branding successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/Rewrite.pm b/lib/NGCP/Panel/Controller/Rewrite.pm index 16a4dbe6e2..98107c6ff1 100644 --- a/lib/NGCP/Panel/Controller/Rewrite.pm +++ b/lib/NGCP/Panel/Controller/Rewrite.pm @@ -106,12 +106,15 @@ sub set_edit :Chained('set_base') :PathPart('edit') { } $c->stash->{set_result}->update($form->values); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule set successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Rewrite rule set successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update rewrite rule set.'), + desc => $c->loc('Failed to update rewrite rule set'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/rewrite')); @@ -126,12 +129,16 @@ sub set_delete :Chained('set_base') :PathPart('delete') { try { $c->stash->{set_result}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule set successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{set_result}->get_inflated_columns }, + desc => $c->loc('Rewrite rule set successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete rewrite rule set.'), + desc => $c->loc('Failed to delete rewrite rule set'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/rewrite')); @@ -175,8 +182,10 @@ sub set_clone :Chained('set_base') :PathPart('clone') { }); } }); - - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule set successfully cloned')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Rewrite rule set successfully cloned'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -227,12 +236,15 @@ sub set_create :Chained('set_list') :PathPart('create') :Args(0) { } $c->stash->{sets_rs}->create($form->values); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule set successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Rewrite rule set successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create rewrite rule set.'), + desc => $c->loc('Failed to create rewrite rule set'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/rewrite')); @@ -386,12 +398,15 @@ sub rules_edit :Chained('rules_base') :PathPart('edit') { try { $c->stash->{rule_result}->update($form->values); $self->_sip_dialplan_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Rewrite rule successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update rewrite rule.'), + desc => $c->loc('Failed to update rewrite rule'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{rules_uri}); @@ -407,12 +422,16 @@ sub rules_delete :Chained('rules_base') :PathPart('delete') { try { $c->stash->{rule_result}->delete; $self->_sip_dialplan_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule successfully deleted') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{rule_result}->get_inflated_columns }, + desc => $c->loc('Rewrite rule successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete rewrite rule.'), + desc => $c->loc('Failed to delete rewrite rule'), ); }; NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{rules_uri}); @@ -439,12 +458,15 @@ sub rules_create :Chained('rules_list') :PathPart('create') :Args(0) { $form->values->{priority} = int($last_priority) + 1; $c->stash->{rules_rs}->create($form->values); $self->_sip_dialplan_reload($c); - $c->flash(messages => [{type => 'success', text => $c->loc('Rewrite rule successfully created') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Rewrite rule successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create rewrite rule.'), + desc => $c->loc('Failed to create rewrite rule'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->stash->{rules_uri}); diff --git a/lib/NGCP/Panel/Controller/Security.pm b/lib/NGCP/Panel/Controller/Security.pm index d296610a4b..e18bbd90be 100644 --- a/lib/NGCP/Panel/Controller/Security.pm +++ b/lib/NGCP/Panel/Controller/Security.pm @@ -147,8 +147,11 @@ sub ip_unban :Chained('ip_base') :PathPart('unban') :Args(0) { EOF $dispatcher->dispatch($c, "loadbalancer", 1, 1, $xml); - - $c->flash(messages => [{type => 'success', text => $c->loc('IP successfully unbanned')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { ip => $ip }, + desc => $c->loc('IP successfully unbanned'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/security')); } @@ -178,8 +181,11 @@ EOF $dispatcher->dispatch($c, "loadbalancer", 1, 1, $xml); } - - $c->flash(messages => [{type => 'success', text => $c->loc('User successfully unbanned')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { user => $user }, + desc => $c->loc('User successfully unbanned'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/security')); } diff --git a/lib/NGCP/Panel/Controller/Sound.pm b/lib/NGCP/Panel/Controller/Sound.pm index eedca7ba90..20a1f406f6 100644 --- a/lib/NGCP/Panel/Controller/Sound.pm +++ b/lib/NGCP/Panel/Controller/Sound.pm @@ -246,7 +246,10 @@ sub edit :Chained('base') :PathPart('edit') { }); delete $c->session->{created_objects}->{reseller}; delete $c->session->{created_objects}->{contract}; - $c->flash(messages => [{type => 'success', text => $c->loc('Sound set successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Sound set successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -290,7 +293,11 @@ sub delete :Chained('base') :PathPart('delete') { $c->stash->{set_result}->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Sound set successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{set_result}->get_inflated_columns }, + desc => $c->loc('Sound set successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -404,7 +411,10 @@ sub create :Chained('sets_list') :PathPart('create') :Args() { }); delete $c->session->{created_objects}->{reseller}; - $c->flash(messages => [{type => 'success', text => $c->loc('Sound set successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Sound set successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -624,7 +634,10 @@ sub handles_edit :Chained('handles_base') :PathPart('edit') { data => $soundfile, codec => $target_codec, }); - $c->flash(messages => [{type => 'success', text => $c->loc('Sound handle successfully uploaded') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Sound handle successfully uploaded'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -637,7 +650,10 @@ sub handles_edit :Chained('handles_base') :PathPart('edit') { $file_result->update({ loopplay => $form->values->{loopplay}, }); - $c->flash(messages => [{type => 'success', text => $c->loc('Sound handle successfully updated') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Sound handle successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -659,7 +675,11 @@ sub handles_delete :Chained('handles_base') :PathPart('delete') { try { $c->stash->{file_result}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Sound handle successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{file_result}->get_inflated_columns }, + desc => $c->loc('Sound handle successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index e0f9bee113..6d33d8b714 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -185,12 +185,15 @@ sub create_list :Chained('sub_list') :PathPart('create') :Args(0) :Does(ACL) :AC delete $c->session->{created_objects}->{contract}; delete $c->session->{created_objects}->{domain}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber successfully created!')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber successfully created!'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create subscriber.'), + desc => $c->loc('Failed to create subscriber'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriber')); @@ -447,12 +450,16 @@ sub terminate :Chained('base') :PathPart('terminate') :Args(0) :Does(ACL) :ACLDe try { NGCP::Panel::Utils::Subscriber::terminate(c => $c, subscriber => $subscriber); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully terminated subscriber') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $subscriber->get_inflated_columns }, + desc => $c->loc('Successfully terminated subscriber'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to terminate subscriber.'), + desc => $c->loc('Failed to terminate subscriber'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriber')); @@ -493,12 +500,15 @@ sub reset_webpassword :Chained('base') :PathPart('resetwebpassword') :Args(0) { }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully reset web password, please check your email at [_1]', $subscriber->contact ? $subscriber->contact->email : $subscriber->contract->contact->email) }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully reset web password, please check your email at [_1]', $subscriber->contact ? $subscriber->contact->email : $subscriber->contract->contact->email), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to reset web password.'), + desc => $c->loc('Failed to reset web password'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriber')); @@ -552,12 +562,15 @@ sub reset_webpassword_nosubscriber :Chained('/') :PathPart('resetwebpassword') : NGCP::Panel::Utils::Email::password_reset($c, $subscriber, $url); } }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully reset web password, please check your email') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully reset web password, please check your email'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to reset web password.'), + desc => $c->loc('Failed to reset web password'), ); } $c->res->redirect($c->uri_for('/login/subscriber')); @@ -642,7 +655,11 @@ sub recover_webpassword :Chained('/') :PathPart('recoverwebpassword') :Args(0) { } $c->log->debug("+++++++++++++++++++++++ successfully recovered subscriber " . $subscriber->username . '@' . $subscriber->domain->domain); - $c->flash(messages => [{type => 'success', text => $c->loc('Web password successfully recovered, please re-login.') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { username => $subscriber->username . '@' . $subscriber->domain->domain }, + desc => $c->loc('Web password successfully recovered, please re-login.'), + ); $c->flash(username => $subscriber->username . '@' . $subscriber->domain->domain); $c->res->redirect($c->uri_for('/login/subscriber')); return; @@ -1063,12 +1080,15 @@ sub preferences_callforward :Chained('base') :PathPart('preferences/callforward' } } }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully saved Call Forward') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully saved Call Forward'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to save Call Forward.'), + desc => $c->loc('Failed to save Call Forward'), ); } @@ -1193,7 +1213,10 @@ sub preferences_callforward_advanced :Chained('base') :PathPart('preferences/cal unless(@active) { $ringtimeout_preference->first->delete if($cf_type eq "cft" && $ringtimeout_preference->first); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully cleared Call Forward') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully cleared Call Forward'), + ); # we don't use back_or, as we might end up in the simple view again $c->res->redirect( $c->uri_for_action('/subscriber/preferences', @@ -1237,14 +1260,16 @@ sub preferences_callforward_advanced :Chained('base') :PathPart('preferences/cal $ringtimeout_preference->create({ value => $cf_form->field('ringtimeout')->value }); } } - - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully saved Call Forward') }]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully saved Call Forward'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to save Call Forward.'), + desc => $c->loc('Failed to save Call Forward'), ); } # we don't use back_or, as we might end up in the simple view again @@ -1857,7 +1882,10 @@ sub preferences_callforward_delete :Chained('base') :PathPart('preferences/callf prov_subscriber => $prov_subscriber, ); $cf_pref->delete_all; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted Call Forward') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully deleted Call Forward'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -2427,13 +2455,15 @@ sub edit_master :Chained('master') :PathPart('edit') :Args(0) :Does(ACL) :ACLDet } }); delete $c->session->{created_objects}->{group}; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated subscriber') }]); - + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated subscriber'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update subscriber.'), + desc => $c->loc('Failed to update subscriber'), ); } @@ -2511,13 +2541,16 @@ sub webpass_edit :Chained('base') :PathPart('webpass/edit') :Args(0) { $schema->txn_do(sub { $prov_subscriber->update({ webpassword => $form->values->{webpassword} }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated password') }]); }); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated password'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update subscriber (webpassword).'), + desc => $c->loc('Failed to update subscriber (webpassword)'), ); } @@ -2606,7 +2639,7 @@ sub edit_voicebox :Chained('base') :PathPart('preferences/voicebox/edit') :Args( NGCP::Panel::Utils::Message->error( c => $c, log => "trying to set invalid voicemail param '$attribute' for subscriber uuid ".$c->stash->{subscriber}->uuid, - desc => $c->loc('Invalid voicemail setting.'), + desc => $c->loc('Invalid voicemail setting'), ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]]), 1); @@ -2614,7 +2647,10 @@ sub edit_voicebox :Chained('base') :PathPart('preferences/voicebox/edit') :Args( } } if($posted && $form->validated) { - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated voicemail setting') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated voicemail setting'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]]), 1); return; @@ -2623,7 +2659,7 @@ sub edit_voicebox :Chained('base') :PathPart('preferences/voicebox/edit') :Args( NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update voicemail setting.'), + desc => $c->loc('Failed to update voicemail setting'), ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]])); @@ -2760,7 +2796,10 @@ sub edit_fax :Chained('base') :PathPart('preferences/fax/edit') :Args(1) { } } if($posted && $form->validated) { - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated fax setting') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated fax setting'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]]), 1); return; @@ -2769,7 +2808,7 @@ sub edit_fax :Chained('base') :PathPart('preferences/fax/edit') :Args(1) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update fax setting.'), + desc => $c->loc('Failed to update fax setting'), ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]])); @@ -2829,8 +2868,10 @@ sub edit_reminder :Chained('base') :PathPart('preferences/reminder/edit') { } elsif($reminder) { $reminder->delete; } - - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated reminder setting')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated reminder setting'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -2964,7 +3005,7 @@ sub play_voicemail :Chained('voicemail') :PathPart('play') :Args(0) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Transcode of audio file failed.'), + desc => $c->loc('Transcode of audio file failed'), ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/details', [$c->req->captures->[0]])); @@ -2983,12 +3024,16 @@ sub delete_voicemail :Chained('voicemail') :PathPart('delete') :Args(0) { try { $c->stash->{voicemail}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted voicemail') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{voicemail}->get_inflated_columns }, + desc => $c->loc('Successfully deleted voicemail'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete voicemail message.'), + desc => $c->loc('Failed to delete voicemail message'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3036,11 +3081,15 @@ sub delete_registered :Chained('registered') :PathPart('delete') :Args(0) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete registered device.'), + desc => $c->loc('Failed to delete registered device'), ); } - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted registered device')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{registered}->get_inflated_columns }, + desc => $c->loc('Successfully deleted registered device'), + ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/details', [$c->req->captures->[0]])); } @@ -3070,12 +3119,15 @@ sub create_registered :Chained('master') :PathPart('registered/create') :Args(0) $form->field('contact')->value, $form->field('q')->value ); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully added registered device')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully added registered device'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to add registered device.'), + desc => $c->loc('Failed to add registered device'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3116,12 +3168,15 @@ sub create_trusted :Chained('base') :PathPart('preferences/trusted/create') :Arg protocol => $form->field('protocol')->value, from_pattern => $form->field('from_pattern') ? $form->field('from_pattern')->value : undef, }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully created trusted source') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully created trusted source'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create trusted source.'), + desc => $c->loc('Failed to create trusted source'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3146,7 +3201,7 @@ sub trusted_base :Chained('base') :PathPart('preferences/trusted') :CaptureArgs( NGCP::Panel::Utils::Message->error( c => $c, log => "trusted source id '$trusted_id' not found for subscriber uuid ".$c->stash->{subscriber}->uuid, - desc => $c->loc('Trusted source entry not found.'), + desc => $c->loc('Trusted source entry not found'), ); NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]])); @@ -3189,13 +3244,15 @@ sub edit_trusted :Chained('trusted_base') :PathPart('edit') { protocol => $form->field('protocol')->value, from_pattern => $form->field('from_pattern') ? $form->field('from_pattern')->value : undef, }); - - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated trusted source')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated trusted source'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update trusted source.'), + desc => $c->loc('Failed to update trusted source'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3218,7 +3275,11 @@ sub delete_trusted :Chained('trusted_base') :PathPart('delete') :Args(0) { try { $c->stash->{trusted}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted trusted source') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{trusted}->get_inflated_columns }, + desc => $c->loc('Successfully deleted trusted source'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -3295,12 +3356,15 @@ sub create_speeddial :Chained('base') :PathPart('preferences/speeddial/create') slot => $form->field('slot')->value, destination => $d, }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully created speed dial slot') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully created speed dial slot'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create speed dial slot.'), + desc => $c->loc('Failed to create speed dial slot'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3341,12 +3405,16 @@ sub delete_speeddial :Chained('speeddial') :PathPart('delete') :Args(0) { try { $c->stash->{speeddial}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted speed dial slot') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{speeddial}->get_inflated_columns }, + desc => $c->loc('Successfully deleted speed dial slot'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete speed dial slot.'), + desc => $c->loc('Failed to delete speed dial slot'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3393,12 +3461,15 @@ sub edit_speeddial :Chained('speeddial') :PathPart('edit') :Args(0) { slot => $form->field('slot')->value, destination => $d, }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated speed dial slot')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated speed dial slot'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => "Failed to update speed dial slot.", + desc => $c->loc('Failed to update speed dial slot'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3449,12 +3520,16 @@ sub delete_autoattendant :Chained('autoattendant') :PathPart('delete') :Args(0) try { $c->stash->{autoattendant}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted auto attendant slot') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{autoattendant}->get_inflated_columns }, + desc => $c->loc('Successfully deleted auto attendant slot'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete auto attendant slot.'), + desc => $c->loc('Failed to delete auto attendant slot'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3512,8 +3587,10 @@ sub edit_autoattendant :Chained('base') :PathPart('preferences/speeddial/edit') }); } }); - - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated auto attendant slots')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated auto attendant slots'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, @@ -3570,12 +3647,16 @@ sub delete_ccmapping :Chained('ccmappings') :PathPart('delete') :Args(0) { try { $c->stash->{ccmapping}->delete; - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully deleted ccmapping.') }]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{ccmapping}->get_inflated_columns }, + desc => $c->loc('Successfully deleted ccmapping'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete ccmapping.'), + desc => $c->loc('Failed to delete ccmapping'), ); } NGCP::Panel::Utils::Navigation::back_or($c, @@ -3626,7 +3707,10 @@ sub edit_ccmapping :Chained('base') :PathPart('preferences/ccmappings/edit') :Ar }); } }); - $c->flash(messages => [{type => 'success', text => $c->loc('Successfully updated ccmappings.')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Successfully updated ccmappings'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, diff --git a/lib/NGCP/Panel/Controller/SubscriberProfile.pm b/lib/NGCP/Panel/Controller/SubscriberProfile.pm index d35c04ed69..92682d7d7f 100644 --- a/lib/NGCP/Panel/Controller/SubscriberProfile.pm +++ b/lib/NGCP/Panel/Controller/SubscriberProfile.pm @@ -132,12 +132,15 @@ sub set_create :Chained('set_list') :PathPart('create') :Args(0) :Does(ACL) :ACL delete $c->session->{created_objects}->{reseller}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile set successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber profile set successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create subscriber profile set.'), + desc => $c->loc('Failed to create subscriber profile set'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriberprofile')); @@ -192,12 +195,15 @@ sub set_edit :Chained('set_base') :PathPart('edit') :Does(ACL) :ACLDetachTo('/de delete $c->session->{created_objects}->{reseller}; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile set successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber profile set successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update subscriber profile set.'), + desc => $c->loc('Failed to update subscriber profile set'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriberprofile')); @@ -225,12 +231,16 @@ sub set_delete :Chained('set_base') :PathPart('delete') :Does(ACL) :ACLDetachTo( $c->stash->{set}->voip_subscriber_profiles->delete; $c->stash->{set}->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile set successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{set}->get_inflated_columns }, + desc => $c->loc('Subscriber profile set successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete subscriber profile set.'), + desc => $c->loc('Failed to delete subscriber profile set'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriberprofile')); @@ -292,13 +302,15 @@ sub set_clone :Chained('set_base') :PathPart('clone') :Does(ACL) :ACLDetachTo('/ } } }); - - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile successfully cloned')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber profile successfully cloned'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to clone subscriber profile.'), + desc => $c->loc('Failed to clone subscriber profile'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for('/subscriberprofile')); @@ -412,12 +424,15 @@ sub profile_create :Chained('profile_list') :PathPart('create') :Args(0) :Does(A }); } }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile successfully created')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber profile successfully created'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to create subscriber profile.'), + desc => $c->loc('Failed to create subscriber profile'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriberprofile/profile_root', [$c->stash->{set}->id])); @@ -517,12 +532,15 @@ sub profile_edit :Chained('profile_base') :PathPart('edit') :Does(ACL) :ACLDetac } }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile successfully updated')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber profile successfully updated'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to update subscriber profile.'), + desc => $c->loc('Failed to update subscriber profile'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriberprofile/profile_root', [$c->stash->{set}->id])); @@ -557,12 +575,16 @@ sub profile_delete :Chained('profile_base') :PathPart('delete') :Does(ACL) :ACLD } $profile->delete; }); - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile successfully deleted')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + data => { $c->stash->{profile}->get_inflated_columns }, + desc => $c->loc('Subscriber profile successfully deleted'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to delete subscriber profile.'), + desc => $c->loc('Failed to delete subscriber profile'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriberprofile/profile_root', [$c->stash->{set}->id])); @@ -603,13 +625,15 @@ sub profile_clone :Chained('profile_base') :PathPart('clone') :Does(ACL) :ACLDet }); } }); - - $c->flash(messages => [{type => 'success', text => $c->loc('Subscriber profile successfully cloned')}]); + NGCP::Panel::Utils::Message->info( + c => $c, + desc => $c->loc('Subscriber profile successfully cloned'), + ); } catch($e) { NGCP::Panel::Utils::Message->error( c => $c, error => $e, - desc => $c->loc('Failed to clone subscriber profile.'), + desc => $c->loc('Failed to clone subscriber profile'), ); } NGCP::Panel::Utils::Navigation::back_or($c, $c->uri_for_action('/subscriberprofile/profile_root', [$c->stash->{set}->id])); diff --git a/lib/NGCP/Panel/Utils/Message.pm b/lib/NGCP/Panel/Utils/Message.pm index 287d891780..ca82620b41 100644 --- a/lib/NGCP/Panel/Utils/Message.pm +++ b/lib/NGCP/Panel/Utils/Message.pm @@ -60,7 +60,13 @@ method get_log_params ($self: Catalyst :$c, :$type?, :$data?) { ? $c->request->query_params : $c->request->parameters; if ($data_ref) { - $data_str = Data::Dumper->new([ $data_ref ]) + my %parsed_data_ref = map { $_ => defined $data_ref->{$_} + ? length($data_ref->{$_}) > 500 + ? '*too big*' + : $data_ref->{$_} + : 'undef' + } keys %$data_ref; + $data_str = Data::Dumper->new([ \%parsed_data_ref ]) ->Terse(1) ->Maxdepth(1) ->Dump;