added rewriting rules for domains

2.0@2434
Andreas Granig 16 years ago
parent cd015a2bd5
commit 146074d892

@ -168,6 +168,164 @@ sub do_delete_domain : Local {
return;
}
=head2 rewrite
Show rewrite rules 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->{iteditid} = $c->request->params->{iteditid};
return 1;
}
=head2 create_rewrite
Create a rewrite rule for a given domain
=cut
sub create_rewrite : Local {
my ( $self, $c ) = @_;
$c->stash->{template} = 'tt/domain_rewrite.tt';
my %messages;
my %settings;
my $domain = $c->request->params->{domain};
my $match_pattern = $c->request->params->{match_pattern};
my $replace_pattern = $c->request->params->{replace_pattern};
my $description = $c->request->params->{description};
unless(keys %messages) {
if($c->model('Provisioning')->call_prov( $c, 'voip', 'create_domain_rewrite',
{ domain => $domain,
match_pattern => $match_pattern,
replace_pattern => $replace_pattern,
description => $description,
},
undef
))
{
$messages{icalleemsg} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/rewrite?domain=$domain");
return;
}
else
{
$messages{icalleeerr} = 'Client.Voip.InputErrorFound';
}
} else {
}
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/rewrite?domain=$domain");
return;
}
=head2 edit_rewrite
Updates a rewrite rule
=cut
sub edit_rewrite : Local {
my ( $self, $c ) = @_;
$c->stash->{template} = 'tt/domain_rewrite.tt';
my %messages;
my %settings;
my $domain = $c->request->params->{domain};
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};
unless(keys %messages) {
if($c->model('Provisioning')->call_prov( $c, 'voip', 'update_domain_rewrite',
{ id => $rewriteid,
match_pattern => $match_pattern,
replace_pattern => $replace_pattern,
description => $description,
},
undef
))
{
$messages{icalleemsg} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/rewrite?domain=$domain");
return;
}
else
{
$messages{icalleeerr} = 'Client.Voip.InputErrorFound';
}
} else {
}
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/rewrite?domain=$domain");
return;
}
=head2 delete_rewrite
Delete a rewrite rule
=cut
sub delete_rewrite : Local {
my ( $self, $c ) = @_;
$c->stash->{template} = 'tt/domain_rewrite.tt';
my %messages;
my %settings;
my $domain = $c->request->params->{domain};
my $rewriteid = $c->request->params->{rewriteid};
unless(keys %messages) {
if($c->model('Provisioning')->call_prov( $c, 'voip', 'delete_domain_rewrite',
{ id => $rewriteid
},
undef
))
{
$messages{icalleemsg} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/rewrite?domain=$domain");
return;
}
} else {
}
$c->session->{messages} = \%messages;
$c->response->redirect("/domain/rewrite?domain=$domain");
return;
}
=head1 BUGS AND LIMITATIONS
=over

@ -16,7 +16,7 @@
[% id = 0 %]
[% FOREACH domain = domains %]
<tr>
<td>[% domain.domain %]</td>
<td><a href="/domain/rewrite?domain=[% domain.domain %]" class="aaction">[% domain.domain %]</a></td>
[% IF domain.domain == edit_domain %]
<form action="/domain/do_edit_domain" method="post">
<input type="hidden" name="domain" value="[% domain.domain %]" />

@ -0,0 +1,103 @@
<h2> Domain Rewrite Rules for domain
<a class="noarrow" href="rewrite?domain=[% domain.domain %]">
[% domain.domain %]</a>
</h2>
<a href="/domain" class="aaction">back</a>
<h3 id="icallee">Inbound Rewrite Rules for Callee</h3>
<div class="p1">
[% IF messages.icalleemsg %]<div class="goodmsg">[% messages.icalleemsg %]</div>[% END %]
[% IF messages.icalleeerr %]<div class="errormsg">[% messages.icalleeerr %]</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.rewrites %]
<tr>
[% IF rule.id == iteditid %]
<form action="/domain/edit_rewrite" method="post">
<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="itsave[% id %]">save</label>
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="itsave[% id %]" />
</div>
</td>
</form>
<td><a href="/domain/rewrite?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/rewrite?domain=[% domain.domain %]&iteditid=[% 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 %]" />
<td>
[% UNLESS Catalyst.session.admin.read_only %]
<div class="postlink">
<label for="itdel[% id %]">delete</label>
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="itdel[% id %]" />
</div>
[% END %]
</td>
[% END %]
</form>
</tr>
[% id = id + 1 %]
[% END %]
<tr>
<form action="/domain/create_rewrite" method="post">
<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="itadd">add</label>
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="itadd" />
</div>
</form>
</td>
<td />
</tr>
</table>
</div>
Loading…
Cancel
Save