From 95902ee60ff2810c41ddb0192a8fa5b6cdff673c Mon Sep 17 00:00:00 2001 From: Daniel Tiefnig Date: Thu, 18 Aug 2011 00:39:39 +0000 Subject: [PATCH] removed domain / peer rewrite functions from controllers --- lib/admin/Controller/domain.pm | 237 ----------------------- lib/admin/Controller/peering.pm | 323 -------------------------------- 2 files changed, 560 deletions(-) diff --git a/lib/admin/Controller/domain.pm b/lib/admin/Controller/domain.pm index d6c67e2..6523637 100644 --- a/lib/admin/Controller/domain.pm +++ b/lib/admin/Controller/domain.pm @@ -100,243 +100,6 @@ sub do_delete_domain : Local { return; } -=head2 rewrite - -Show rewrite rule details for a given domain. - -=cut - -sub rewrite : Local { - my ( $self, $c ) = @_; - $c->stash->{template} = 'tt/domain_rewrite.tt'; - - my $domain = $c->request->params->{domain}; - - my $domain_rw; - return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_domain_rewrites', - { domain => $domain }, - \$domain_rw - ); - $c->stash->{domain} = $domain_rw; - $c->stash->{editid} = $c->request->params->{editid}; - - return 1; -} - -=head2 create_rewrite - -Create a rewrite rule for a given domain - -=cut - -sub create_rewrite : Local { - my ( $self, $c ) = @_; - - my %messages; - my %settings; - - my $domain = $c->request->params->{domain}; - my $direction = $c->request->params->{direction}; - my $field = $c->request->params->{field}; - my $match_pattern = $c->request->params->{match_pattern}; - my $replace_pattern = $c->request->params->{replace_pattern}; - my $description = $c->request->params->{description}; - my $priority = $c->request->params->{priority}; - - my $a = ""; - if($field eq 'caller') { $a = 'caller'.$a; } - 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 $d = $a.'detail'; - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'create_domain_rewrite', - { domain => $domain, - data => { - direction => $direction, - field => $field, - match_pattern => $match_pattern, - replace_pattern => $replace_pattern, - description => $description, - priority => $priority, - }, - }, - undef - )) - { - $messages{$m} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/domain/rewrite?domain=$domain#$a"); - return; - } - else - { - $messages{$e} = 'Client.Voip.InputErrorFound'; - if($c->session->{prov_error_object}) { - $c->flash->{$d} = $c->session->{prov_error_object}; - } - } - } else { - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/domain/rewrite?domain=$domain#$a"); - return; -} - -=head2 edit_rewrite - -Updates a rewrite rule - -=cut - -sub edit_rewrite : Local { - my ( $self, $c ) = @_; - - my %messages; - my %settings; - - my $domain = $c->request->params->{domain}; - my $direction = $c->request->params->{direction}; - my $field = $c->request->params->{field}; - my $rewriteid = $c->request->params->{rewriteid}; - my $match_pattern = $c->request->params->{match_pattern}; - my $replace_pattern = $c->request->params->{replace_pattern}; - my $description = $c->request->params->{description}; - my $priority = $c->request->params->{priority}; - - my $a = ""; - if($field eq 'caller') { $a = 'caller'.$a; } - 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 $d = $a.'detail'; - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'update_domain_rewrite', - { id => $rewriteid, - data => { - match_pattern => $match_pattern, - replace_pattern => $replace_pattern, - description => $description, - direction => $direction, - field => $field, - priority => $priority, - }, - }, - undef - )) - { - $messages{$m} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/domain/rewrite?domain=$domain#$a"); - return; - } - else - { - $messages{$e} = 'Client.Voip.InputErrorFound'; - if($c->session->{prov_error_object}) { - $c->flash->{$d} = $c->session->{prov_error_object}; - } - } - } else { - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/domain/rewrite?domain=$domain#$a"); - return; -} - -=head2 update_rewrite_priority - -Updates the priority of rewrite rules upon re-order - -=cut - -sub update_rewrite_priority : Local { - my ( $self, $c ) = @_; - - my %messages; - my %settings; - - my $prio = 999; - - my $rules = $c->request->params->{'rule[]'}; - - foreach my $rule_id(@$rules) - { - my $rule = undef; - $c->model('Provisioning')->call_prov( $c, 'voip', 'get_domain_rewrite', - { id => $rule_id }, - \$rule - ); - $c->model('Provisioning')->call_prov( $c, 'voip', 'update_domain_rewrite', - { id => $rule_id, - data => { - match_pattern => $rule->{match_pattern}, - replace_pattern => $rule->{replace_pattern}, - description => $rule->{description}, - direction => $rule->{direction}, - field => $rule->{field}, - priority => $prio, - }, - }, - undef - ); - $prio-- if($prio > 1); - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/domain"); - return; -} - -=head2 delete_rewrite - -Delete a rewrite rule - -=cut - -sub delete_rewrite : Local { - my ( $self, $c ) = @_; - - my %messages; - my %settings; - - my $domain = $c->request->params->{domain}; - my $rewriteid = $c->request->params->{rewriteid}; - my $direction = $c->request->params->{direction}; - my $field = $c->request->params->{field}; - - my $a = ""; - if($field eq 'caller') { $a = 'caller'.$a; } - 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'; - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'delete_domain_rewrite', - { id => $rewriteid - }, - undef - )) - { - $messages{$m} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/domain/rewrite?domain=$domain#$a"); - return; - } - } else { - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/domain/rewrite?domain=$domain#$a"); - return; -} - - =head2 preferences Show preferences for a given domain. diff --git a/lib/admin/Controller/peering.pm b/lib/admin/Controller/peering.pm index 984bb67..f88b962 100644 --- a/lib/admin/Controller/peering.pm +++ b/lib/admin/Controller/peering.pm @@ -507,329 +507,6 @@ sub edit_peer : Local { return; } -=head2 rewrite - -Show rewrite rules for a given peer - -=cut - -sub rewrite : Local { - my ( $self, $c ) = @_; - $c->stash->{template} = 'tt/peering_rewrite.tt'; - - my $peerid = $c->request->params->{peerid}; - - my $peer_details; - return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_peer_host_details', - { id => $peerid }, - \$peer_details - ); - my $all_peer_details; - return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_peer_group_details', - { id => $$peer_details{peer_host}{group_id} }, - \$all_peer_details - ); - my $all_peers = $$all_peer_details{peers}; - my @final_peers = (); - for(my $i = 0; $i < @$all_peers; ++$i) - { - my $peer = @$all_peers[$i]; - push @final_peers, $peer if $$peer{id} != $peerid; - } - - $c->stash->{peer} = $peer_details; - $c->stash->{all_peers} = \@final_peers; - $c->stash->{editid} = $c->request->params->{editid}; - - return 1; -} - -=head2 create_rewrite - -Create a rewrite rule for a given peer with defined direction and field - -=cut - -sub create_rewrite : Local { - my ( $self, $c ) = @_; - $c->stash->{template} = 'tt/peering_rewrite.tt'; - - my %messages; - my %settings; - - my $grpid = $c->request->params->{grpid}; - my $peerid = $c->request->params->{peerid}; - my $match_pattern = $c->request->params->{match_pattern}; - my $replace_pattern = $c->request->params->{replace_pattern}; - my $description = $c->request->params->{description}; - my $direction = $c->request->params->{direction}; - my $field = $c->request->params->{field}; - my $priority = $c->request->params->{priority}; - - my $a = ""; - if($field eq 'caller') { $a = 'caller'.$a; } - 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 $d = $a.'detail'; - -# $messages{crulerr} = 'Client.Syntax.MalformedPeerGroupName' -# unless $callee_prefix =~ /^[a-zA-Z0-9_\.\-\@\:]+/; - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'create_peer_rewrite', - { peer_id => $peerid, - data => { - match_pattern => $match_pattern, - replace_pattern => $replace_pattern, - description => $description, - direction => $direction, - field => $field, - priority => $priority, - }, - }, - undef - )) - { - $messages{$m} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid#$a"); - return; - } - 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 - my %arefill = (); -# $arefill{name} = $grpname; -# $arefill{desc} = $grpdesc; - - $c->stash->{arefill} = \%arefill; - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid#$a"); - return; -} - -=head2 update_rewrite_priority - -Updates the priority of rewrite rules upon re-order - -=cut - -sub update_rewrite_priority : Local { - my ( $self, $c ) = @_; - - my %messages; - my %settings; - - my $prio = 999; - - my $rules = $c->request->params->{'rule[]'}; - - foreach my $rule_id(@$rules) - { - my $rule = undef; - $c->model('Provisioning')->call_prov( $c, 'voip', 'get_peer_rewrite', - { id => $rule_id }, - \$rule - ); - $c->model('Provisioning')->call_prov( $c, 'voip', 'update_peer_rewrite', - { id => $rule_id, - data => { - match_pattern => $rule->{match_pattern}, - replace_pattern => $rule->{replace_pattern}, - description => $rule->{description}, - direction => $rule->{direction}, - field => $rule->{field}, - priority => $prio, - }, - }, - undef - ); - $prio-- if($prio > 1); - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/"); - return; -} - - -=head2 delete_rewrite - -Delete a rewrite rule - -=cut - -sub delete_rewrite : Local { - my ( $self, $c ) = @_; - $c->stash->{template} = 'tt/peering_rewrite.tt'; - - my %messages; - my %settings; - - my $peerid = $c->request->params->{peerid}; - my $rewriteid = $c->request->params->{rewriteid}; - my $direction = $c->request->params->{direction}; - my $field = $c->request->params->{field}; - - my $a = ""; - if($field eq 'caller') { $a = 'caller'.$a; } - 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'; - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'delete_peer_rewrite', - { id => $rewriteid - }, - undef - )) - { - $messages{$m} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid#$a"); - return; - } - } else { - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid#$a"); - return; -} - -=head2 edit_rewrite - -Updates a rewrite rule - -=cut - -sub edit_rewrite : Local { - my ( $self, $c ) = @_; - $c->stash->{template} = 'tt/peering_rewrite.tt'; - - my %messages; - my %settings; - - my $peerid = $c->request->params->{peerid}; - my $rewriteid = $c->request->params->{rewriteid}; - my $match_pattern = $c->request->params->{match_pattern}; - my $replace_pattern = $c->request->params->{replace_pattern}; - my $description = $c->request->params->{description}; - my $direction = $c->request->params->{direction}; - my $field = $c->request->params->{field}; - my $priority = $c->request->params->{priority}; - - my $a = ""; - if($field eq 'caller') { $a = 'caller'.$a; } - 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 $d = $a.'detail'; - -# $messages{crulerr} = 'Client.Syntax.MalformedPeerGroupName' -# unless $callee_prefix =~ /^[a-zA-Z0-9_\.\-\@\:]+/; - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'update_peer_rewrite', - { id => $rewriteid, - data => { - match_pattern => $match_pattern, - replace_pattern => $replace_pattern, - description => $description, - direction => $direction, - field => $field, - priority => $priority, - }, - }, - undef - )) - { - $messages{$m} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid#$a"); - return; - } - 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 - my %arefill = (); -# $arefill{name} = $grpname; -# $arefill{desc} = $grpdesc; - - $c->stash->{arefill} = \%arefill; - } - - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid#$a"); - return; -} - -=head2 copy_rewrite - -Copy a rewrite rule from current group - -=cut - -sub copy_rewrite : Local { - my ( $self, $c ) = @_; - $c->stash->{template} = 'tt/peering_rewrite.tt'; - - my %messages; - my %settings; - - my $peerid = $c->request->params->{peerid}; - my $rpeerid = $c->request->params->{rpeerid}; - my $policy= $c->request->params->{policy}; - my $grpid = $c->request->params->{grpid}; - my $delete_existing = $policy eq "delete" ? 1 : 0; - - unless(defined $peerid && defined $rpeerid) - { - $messages{cperr} = 'Client.Voip.NoSuchPeerHost'; - } - - unless(keys %messages) { - if($c->model('Provisioning')->call_prov( $c, 'voip', 'copy_peer_rewrites', - { from_peer_id => $rpeerid, - to_peer_id => $peerid, - delete_existing => $delete_existing - }, - undef - )) - { - $messages{cpmsg} = 'Server.Voip.SavedSettings'; - $c->session->{messages} = \%messages; - $c->response->redirect("/peering/rewrite?peerid=$peerid"); - return; - } - } - else - { - $c->response->redirect("/peering/rewrite?peerid=$peerid"); - return; - } - - return; - - -} - =head2 preferences Show preferences for a given peer host.