removed domain / peer rewrite functions from controllers

3.1
Daniel Tiefnig 15 years ago
parent 5efda0e766
commit 95902ee60f

@ -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.

@ -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.

Loading…
Cancel
Save