Implemented incoming caller rewrite rules.

2.1@2833
Andreas Granig 15 years ago
parent 33023518aa
commit e2edb08f3c

@ -186,7 +186,10 @@ sub detail : Local {
\$domain_rw
);
$c->stash->{domain} = $domain_rw;
$c->stash->{ifeditid} = $c->request->params->{ifeditid};
$c->stash->{iteditid} = $c->request->params->{iteditid};
$c->stash->{ofeditid} = $c->request->params->{ofeditid};
$c->stash->{oteditid} = $c->request->params->{oteditid};
my $audio_files;
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_audio_files',
@ -267,13 +270,24 @@ sub create_rewrite : Local {
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 $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', 'create_domain_rewrite',
{ domain => $domain,
direction => $direction,
field => $field,
match_pattern => $match_pattern,
replace_pattern => $replace_pattern,
description => $description,
@ -281,20 +295,20 @@ sub create_rewrite : Local {
undef
))
{
$messages{icalleemsg} = 'Server.Voip.SavedSettings';
$messages{$m} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/detail?domain=$domain");
$c->response->redirect("/domain/detail?domain=$domain#$a");
return;
}
else
{
$messages{icalleeerr} = 'Client.Voip.InputErrorFound';
$messages{$e} = 'Client.Voip.InputErrorFound';
}
} else {
}
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/detail?domain=$domain");
$c->response->redirect("/domain/detail?domain=$domain#$a");
return;
}
@ -311,10 +325,19 @@ sub edit_rewrite : Local {
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 $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', 'update_domain_rewrite',
@ -322,24 +345,26 @@ sub edit_rewrite : Local {
match_pattern => $match_pattern,
replace_pattern => $replace_pattern,
description => $description,
direction => $direction,
field => $field,
},
undef
))
{
$messages{icalleemsg} = 'Server.Voip.SavedSettings';
$messages{$m} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/detail?domain=$domain");
$c->response->redirect("/domain/detail?domain=$domain#$a");
return;
}
else
{
$messages{icalleeerr} = 'Client.Voip.InputErrorFound';
$messages{$e} = 'Client.Voip.InputErrorFound';
}
} else {
}
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/detail?domain=$domain");
$c->response->redirect("/domain/detail?domain=$domain#$a");
return;
}
@ -357,6 +382,15 @@ sub delete_rewrite : Local {
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',
@ -365,16 +399,16 @@ sub delete_rewrite : Local {
undef
))
{
$messages{icalleemsg} = 'Server.Voip.SavedSettings';
$messages{$m} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/detail?domain=$domain");
$c->response->redirect("/domain/detail?domain=$domain#$a");
return;
}
} else {
}
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/detail?domain=$domain");
$c->response->redirect("/domain/detail?domain=$domain#$a");
return;
}

@ -6,6 +6,108 @@
[% IF Catalyst.config.domain.rewrite_features %]
<h3 id="icaller">Inbound Rewrite Rules for Caller</h3>
<div class="p1">
[% IF messages.icallermsg %]<div class="goodmsg">[% messages.icallermsg %]</div>[% END %]
[% IF messages.icallererr %]<div class="errormsg">[% messages.icallererr %]</div>[% END %]
<table class="domains">
<tr class="table_header">
<td>Match Pattern</td>
<td>Replacement Pattern</td>
<td>Description</td>
<td style="width:40px;" />
<td style="width:60px;" />
</tr>
[% id = 0 %]
[% FOREACH rule = domain.rewrite_in_caller %]
<tr>
[% IF rule.id == ifeditid && !Catalyst.session.admin.read_only %]
<form action="/domain/edit_rewrite" method="post">
<input type="hidden" name="direction" value="[% rule.direction %]" />
<input type="hidden" name="field" value="[% rule.field %]" />
<input type="hidden" name="domain" value="[% domain.domain %]" />
<input type="hidden" name="rewriteid" value="[% rule.id %]" />
<td>
<input type="text" size="15 id="addtxt" title="string, match pattern"
name="match_pattern" value="[% rule.match_pattern %]" />
</td>
<td>
<input type="text" size="15" id="addtxt" title="string, replacement pattern"
name="replace_pattern" value="[% rule.replace_pattern %]" />
</td>
<td>
<input type="text" size="15" id="addtxt" title="string, rewrite rule description"
name="description" value="[% rule.description %]" />
</td>
<td>
<div class="postlink">
<label for="ifsave[% id %]">save</label>
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="ifsave[% id %]" />
</div>
</td>
</form>
<td><a href="/domain/detail?domain=[% domain.domain %]" class="aaction">cancel</a></td>
[% ELSE %]
<td>[% rule.match_pattern %]</td>
<td>[% rule.replace_pattern %]</td>
<td>[% rule.description %]</td>
<td>
[% UNLESS Catalyst.session.admin.read_only %]
<a href="/domain/detail?domain=[% domain.domain %]&amp;ifeditid=[% rule.id %]" class="aaction">edit</a>
[% END %]
</td>
<form action="/domain/delete_rewrite" method="post">
<input type="hidden" name="domain" value="[% domain.domain %]" />
<input type="hidden" name="rewriteid" value="[% rule.id %]" />
<input type="hidden" name="direction" value="[% rule.direction %]" />
<input type="hidden" name="field" value="[% rule.field %]" />
<td>
[% UNLESS Catalyst.session.admin.read_only %]
<div class="postlink">
<label for="ifdel[% id %]">delete</label>
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="ifdel[% id %]" />
</div>
[% END %]
</td>
[% END %]
</form>
</tr>
[% id = id + 1 %]
[% END %]
[% UNLESS Catalyst.session.admin.read_only %]
<tr>
<form action="/domain/create_rewrite" method="post">
<input type="hidden" name="direction" value="in" />
<input type="hidden" name="field" value="caller" />
<input type="hidden" name="domain" value="[% domain.domain %]" />
<td>
<input type="text" size="15" id="addtxt" title="string, match pattern"
name="match_pattern" value="" />
</td>
<td>
<input type="text" size="15" id="addtxt" title="string, replacement pattern"
name="replace_pattern" value="" />
</td>
<td>
<input type="text" size="15" id="addtxt" title="string, rule description"
name="description" value="" />
</td>
<td>
<div class="postlink">
<label for="ifadd">add</label>
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="ifadd" />
</div>
</td>
<td />
</form>
</tr>
[% END %]
</table>
</div>
<h3 id="icallee">Inbound Rewrite Rules for Callee</h3>
<div class="p1">
@ -21,10 +123,12 @@
<td style="width:60px;" />
</tr>
[% id = 0 %]
[% FOREACH rule = domain.rewrites %]
[% FOREACH rule = domain.rewrite_in_callee %]
<tr>
[% IF rule.id == iteditid && !Catalyst.session.admin.read_only %]
<form action="/domain/edit_rewrite" method="post">
<input type="hidden" name="direction" value="[% rule.direction %]" />
<input type="hidden" name="field" value="[% rule.field %]" />
<input type="hidden" name="domain" value="[% domain.domain %]" />
<input type="hidden" name="rewriteid" value="[% rule.id %]" />
<td>
@ -59,6 +163,8 @@
<form action="/domain/delete_rewrite" method="post">
<input type="hidden" name="domain" value="[% domain.domain %]" />
<input type="hidden" name="rewriteid" value="[% rule.id %]" />
<input type="hidden" name="direction" value="[% rule.direction %]" />
<input type="hidden" name="field" value="[% rule.field %]" />
<td>
[% UNLESS Catalyst.session.admin.read_only %]
<div class="postlink">
@ -75,6 +181,8 @@
[% UNLESS Catalyst.session.admin.read_only %]
<tr>
<form action="/domain/create_rewrite" method="post">
<input type="hidden" name="direction" value="in" />
<input type="hidden" name="field" value="callee" />
<input type="hidden" name="domain" value="[% domain.domain %]" />
<td>
<input type="text" size="15" id="addtxt" title="string, match pattern"
@ -104,6 +212,7 @@
[% END %]
[% IF Catalyst.config.domain.audiofile_features %]
<h3 id="audio">Audio Files</h3>

Loading…
Cancel
Save