mirror of https://github.com/sipwise/www_admin.git
parent
bfde877838
commit
2875bd90ee
@ -0,0 +1,437 @@
|
||||
package admin::Controller::rewrite;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use base 'Catalyst::Controller';
|
||||
use Data::Dumper;
|
||||
use admin::Utils;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
admin::Controller::rewrite - Catalyst Controller
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Catalyst Controller.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 index
|
||||
|
||||
Configure SIP rewrites
|
||||
|
||||
=cut
|
||||
|
||||
sub index : Private {
|
||||
my ( $self, $c ) = @_;
|
||||
$c->stash->{template} = 'tt/rewrite.tt';
|
||||
|
||||
my $rule_sets;
|
||||
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_rewrite_rule_sets',
|
||||
undef,
|
||||
\$rule_sets
|
||||
);
|
||||
$c->stash->{rule_sets} = $rule_sets if eval { @$rule_sets };
|
||||
$c->stash->{editid} = $c->request->params->{editid};
|
||||
|
||||
if(exists $c->session->{garefill}) {
|
||||
$c->stash->{garefill} = $c->session->{garefill};
|
||||
delete $c->session->{garefill};
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
=head2 do_delete_set
|
||||
|
||||
Delete a rewrite set
|
||||
|
||||
=cut
|
||||
|
||||
sub delete_set : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
$c->stash->{template} = 'tt/rewrite.tt';
|
||||
|
||||
my %messages;
|
||||
my %settings;
|
||||
|
||||
my $setid = $c->request->params->{setid};
|
||||
|
||||
if($c->model('Provisioning')->call_prov( $c, 'voip', 'delete_rewrite_rule_set',
|
||||
{ id => $setid
|
||||
},
|
||||
undef
|
||||
))
|
||||
{
|
||||
$messages{epeermsg} = 'Web.Rewrite.RuleSetDeleted';
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite");
|
||||
return;
|
||||
}
|
||||
$c->response->redirect("/rewrite");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head2 create_set
|
||||
|
||||
Create a rewrite set
|
||||
|
||||
=cut
|
||||
|
||||
sub create_set : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
$c->stash->{template} = 'tt/rewrite.tt';
|
||||
|
||||
my %messages = ();
|
||||
my %settings = ();
|
||||
|
||||
$settings{name} = $c->request->params->{setname};
|
||||
$messages{cpeererr} = 'Client.Syntax.MalformedRewriteRuleSetName'
|
||||
unless $settings{name} =~ /^[a-zA-Z0-9_\-]+/;
|
||||
$settings{description} = $c->request->params->{setdesc};
|
||||
|
||||
unless(keys %messages) {
|
||||
if($c->model('Provisioning')->call_prov( $c, 'voip', 'create_rewrite_rule_set',
|
||||
{ %settings },
|
||||
undef
|
||||
))
|
||||
{
|
||||
$messages{cpeermsg} = 'Server.Voip.SavedSettings';
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
$messages{cpeererr} = 'Client.Voip.InputErrorFound';
|
||||
}
|
||||
|
||||
$c->session->{garefill} = \%settings;
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite#create_set");
|
||||
return;
|
||||
}
|
||||
|
||||
=head2 edit_set
|
||||
|
||||
Edit a rewrite set
|
||||
|
||||
=cut
|
||||
|
||||
sub edit_set : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
$c->stash->{template} = 'tt/rewrite.tt';
|
||||
|
||||
my %messages;
|
||||
my %settings;
|
||||
|
||||
my $setid = $c->request->params->{setid};
|
||||
$settings{description} = $c->request->params->{setdesc};
|
||||
|
||||
#$c->log->debug('*** edit set');
|
||||
|
||||
unless(keys %messages) {
|
||||
if($c->model('Provisioning')->call_prov( $c, 'voip', 'update_rewrite_rule_set',
|
||||
{ id => $setid,
|
||||
data => \%settings,
|
||||
},
|
||||
undef
|
||||
))
|
||||
{
|
||||
$messages{epeermsg} = 'Server.Voip.SavedSettings';
|
||||
}
|
||||
}
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite");
|
||||
return;
|
||||
}
|
||||
|
||||
=head2 detail
|
||||
|
||||
Show rewrite rules for a given set
|
||||
|
||||
=cut
|
||||
|
||||
sub detail : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
$c->stash->{template} = 'tt/rewrite_detail.tt';
|
||||
|
||||
my $setid = $c->request->params->{set_id};
|
||||
|
||||
my $set_details;
|
||||
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_rewrite_rule_set',
|
||||
{ id => $setid },
|
||||
\$set_details
|
||||
);
|
||||
$c->stash->{set} = $set_details;
|
||||
$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/rewrite_detail.tt';
|
||||
|
||||
my %messages;
|
||||
my %settings;
|
||||
|
||||
my $setid = $c->request->params->{setid};
|
||||
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_rewrite_rule',
|
||||
{ set_id => $setid,
|
||||
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("/rewrite/detail?set_id=$setid#$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} = $setname;
|
||||
# $arefill{desc} = $setdesc;
|
||||
|
||||
$c->stash->{arefill} = \%arefill;
|
||||
}
|
||||
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite/detail?set_id=$setid#$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 = 0;
|
||||
|
||||
my $rules = $c->request->params->{'rule[]'};
|
||||
|
||||
foreach my $rule_id(@$rules)
|
||||
{
|
||||
my $rule = undef;
|
||||
$c->model('Provisioning')->call_prov( $c, 'voip', 'get_rewrite_rule',
|
||||
{ id => $rule_id },
|
||||
\$rule
|
||||
);
|
||||
$c->model('Provisioning')->call_prov( $c, 'voip', 'update_rewrite_rule',
|
||||
{ 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++;
|
||||
}
|
||||
|
||||
$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/rewrite_detail.tt';
|
||||
|
||||
my %messages;
|
||||
my %settings;
|
||||
|
||||
my $setid = $c->request->params->{setid};
|
||||
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_rewrite_rule',
|
||||
{ id => $rewriteid
|
||||
},
|
||||
undef
|
||||
))
|
||||
{
|
||||
$messages{$m} = 'Server.Voip.SavedSettings';
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite/detail?set_id=$setid#$a");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite/detail?set_id=$setid#$a");
|
||||
return;
|
||||
}
|
||||
|
||||
=head2 edit_rewrite
|
||||
|
||||
Updates a rewrite rule
|
||||
|
||||
=cut
|
||||
|
||||
sub edit_rewrite : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
$c->stash->{template} = 'tt/rewrite_detail.tt';
|
||||
|
||||
my %messages;
|
||||
my %settings;
|
||||
|
||||
my $setid = $c->request->params->{setid};
|
||||
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_rewrite_rule',
|
||||
{ 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("/rewrite/detail?set_id=$setid#$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} = $setname;
|
||||
# $arefill{desc} = $setdesc;
|
||||
|
||||
$c->stash->{arefill} = \%arefill;
|
||||
}
|
||||
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect("/rewrite/detail?set_id=$setid#$a");
|
||||
return;
|
||||
}
|
||||
|
||||
=head1 BUGS AND LIMITATIONS
|
||||
|
||||
=over
|
||||
|
||||
=item currently none
|
||||
|
||||
=back
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
Provisioning model, Sipwise::Provisioning::Billing, Catalyst
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
=over
|
||||
|
||||
=item Andreas Granig <agranig@sipwise.com>
|
||||
|
||||
=back
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The rewrite controller is Copyright (c) 2009-2011 Sipwise GmbH, Austria.
|
||||
You should have received a copy of the licences terms together with the
|
||||
software.
|
||||
|
||||
=cut
|
||||
|
||||
# ende gelaende
|
||||
1;
|
@ -1,231 +0,0 @@
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
|
||||
[% ids = ['icaller', 'icallee', 'ocaller', 'ocallee'] %]
|
||||
[% FOREACH id = ids %]
|
||||
$("#[% id %]list").sortable({
|
||||
placeholder: 'ui-state-highlight',
|
||||
forcePlaceholderSize: true,
|
||||
stop: function(i) {
|
||||
placeholder: 'ui-state-highlight'
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "update_rewrite_priority",
|
||||
data: $("#[% id %]list").sortable("serialize")
|
||||
});
|
||||
},
|
||||
});
|
||||
//$("#[% id %]").disableSelection();
|
||||
[% END %]
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
<h2> Peer Host [% peer.peer_host.name %] </h2>
|
||||
|
||||
<a href="detail?group_id=[% peer.peer_host.group_id %]"><span class="button-back">Back</span></a><br /><br />
|
||||
|
||||
<div class="topsubmenu">
|
||||
<ul>
|
||||
<li class="selected"><a href="rewrite?peerid=[% peer.peer_host.id %]"><span>Rewrite Rules</span></a></li>
|
||||
[% IF Catalyst.config.peer.preference_features %]
|
||||
<li><a href="preferences?peerid=[% peer.peer_host.id %]"><span>Preferences</span></a></li>
|
||||
[% END %]
|
||||
</ul>
|
||||
</div>
|
||||
<div class="topsubmenudivider"> </div>
|
||||
|
||||
[% IF all_peers.size > 0 %]
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<h3>Import Rewrite Rules from another host</h3>
|
||||
[% IF messages.cpmsg %]<div class="success">[% messages.cpmsg %]</div>[% END %]
|
||||
[% IF messages.cperr %]<div class="error">[% messages.cperr %]</div>[% END %]
|
||||
<ul class="cleanlist">
|
||||
<li class="ui-state-default">
|
||||
<form action="/peering/copy_rewrite" method="post">
|
||||
<div class="span-13">
|
||||
<input type="hidden" name="peerid" value="[% peer.peer_host.id %]" />
|
||||
<input type="hidden" name="grpid" value="[% peer.peer_host.group_id %]" />
|
||||
Copy rules from peering host
|
||||
<select title="string, peering host" size="1" name="rpeerid">
|
||||
[% FOREACH cpeer = all_peers %]
|
||||
<option value="[% cpeer.id %]">[% cpeer.name %]</option>
|
||||
[% END %]
|
||||
</select>
|
||||
and
|
||||
<select title="string, copy policy" size="1" name="policy">
|
||||
<option selected>keep</option>
|
||||
<option>delete</option>
|
||||
</select>
|
||||
existing rewrite rules.
|
||||
</div>
|
||||
<div class="span-1 last">
|
||||
<button id="cpapply" class="button-save">Apply</button>
|
||||
</div>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="hspace-20"></div>
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
|
||||
[%
|
||||
rewrites = [
|
||||
{
|
||||
header = 'Inbound Rewrite Rules for Caller',
|
||||
id = 'icaller',
|
||||
tag = 'if',
|
||||
dir = 'in',
|
||||
field = 'caller',
|
||||
msg = messages.icallermsg,
|
||||
err = messages.icallererr,
|
||||
detail = icallerdetail,
|
||||
rules = peer.rewrite_in_caller,
|
||||
},
|
||||
{
|
||||
header = 'Inbound Rewrite Rules for Callee',
|
||||
id = 'icallee',
|
||||
tag = 'it',
|
||||
dir = 'in',
|
||||
field = 'callee',
|
||||
msg = messages.icalleemsg,
|
||||
err = messages.icalleeerr,
|
||||
detail = icalleedetail,
|
||||
rules = peer.rewrite_in_callee,
|
||||
},
|
||||
{
|
||||
header = 'Outbound Rewrite Rules for Caller',
|
||||
id = 'ocaller',
|
||||
tag = 'of',
|
||||
dir = 'out',
|
||||
field = 'caller',
|
||||
msg = messages.ocallermsg,
|
||||
err = messages.ocallererr,
|
||||
detail = ocallerdetail,
|
||||
rules = peer.rewrite_out_caller,
|
||||
},
|
||||
{
|
||||
header = 'Outbound Rewrite Rules for Callee',
|
||||
id = 'ocallee',
|
||||
tag = 'ot',
|
||||
dir = 'out',
|
||||
field = 'callee',
|
||||
msg = messages.ocalleemsg,
|
||||
err = messages.ocalleeerr,
|
||||
detail = ocalleedetail,
|
||||
rules = peer.rewrite_out_callee,
|
||||
},
|
||||
]
|
||||
%]
|
||||
|
||||
[% FOREACH rw = rewrites %]
|
||||
|
||||
<h3 id="[% rw.id %]">[% rw.header %]</h3>
|
||||
[% IF rw.msg %]<div class="success">[% rw.msg %]</div>[% END %]
|
||||
[% IF rw.err %]<div class="error">[% rw.err %][% IF rw.detail %]<br/>[% rw.detail %][% END %]</div>[% END %]
|
||||
|
||||
<ul class="cleanlist">
|
||||
<li class="ui-state-default">
|
||||
<div class="span-1"> </div>
|
||||
<div class="span-4">Match Pattern</div>
|
||||
<div class="span-4">Replacement Pattern</div>
|
||||
<div class="span-4 append-3 last">Description</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul id="[% rw.id %]list" class="cleanlist">
|
||||
[% id = 0 %]
|
||||
[% priority = 0 %]
|
||||
[% FOREACH rule = rw.rules %]
|
||||
[% priority = rule.priority %]
|
||||
<li class="ui-state-default" id="rule_[% rule.id %]">
|
||||
<div class="span-1"><span class='ui-icon ui-icon-arrowthick-2-n-s'></span></div>
|
||||
[% IF rule.id == editid && !Catalyst.session.admin.read_only %]
|
||||
<form action="/peering/edit_rewrite" method="post">
|
||||
<input type="hidden" name="peerid" value="[% peer.peer_host.id %]" />
|
||||
<input type="hidden" name="grpid" value="[% peer.peer_host.group_id %]" />
|
||||
<input type="hidden" name="direction" value="[% rule.direction %]" />
|
||||
<input type="hidden" name="field" value="[% rule.field %]" />
|
||||
<input type="hidden" name="rewriteid" value="[% rule.id %]" />
|
||||
<input type="hidden" name="priority" value="[% rule.priority %]" />
|
||||
<div class="span-4">
|
||||
<input type="text" size="15 id="addtxt" title="string, match pattern"
|
||||
name="match_pattern" value="[% rule.match_pattern %]" />
|
||||
</div>
|
||||
<div class="span-4">
|
||||
<input type="text" size="15" id="addtxt" title="string, replacement pattern"
|
||||
name="replace_pattern" value="[% rule.replace_pattern %]" />
|
||||
</div>
|
||||
<div class="span-4 append-1">
|
||||
<input type="text" size="15" id="addtxt" title="string, rewrite rule description"
|
||||
name="description" value="[% rule.description %]" />
|
||||
</div>
|
||||
<div class="span-1">
|
||||
<button class="button-save" id="[% rw.tag %]save[% id %]">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="prepend-1 span-1 last">
|
||||
<a href="/peering/rewrite?peerid=[% peer.peer_host.id %]#[% rw.id %]"><span class="button-cancel">Cancel</span></a>
|
||||
</div>
|
||||
[% ELSE %]
|
||||
<div class="span-4">[% rule.match_pattern %]</div>
|
||||
<div class="span-4">[% rule.replace_pattern %]</div>
|
||||
<div class="span-4 append-1">[% rule.description %]</div>
|
||||
<div class="span-1">
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<a href="/peering/rewrite?peerid=[% peer.peer_host.id %]&editid=[% rule.id %]#[% rw.id %]"><span class="button-edit">Edit</span></a>
|
||||
[% END %]
|
||||
</div>
|
||||
<form action="/peering/delete_rewrite" method="post">
|
||||
<input type="hidden" name="peerid" value="[% peer.peer_host.id %]" />
|
||||
<input type="hidden" name="rewriteid" value="[% rule.id %]" />
|
||||
<input type="hidden" name="direction" value="[% rule.direction %]" />
|
||||
<input type="hidden" name="field" value="[% rule.field %]" />
|
||||
<div class="prepend-1 span-1 last">
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<button id="[% rw.tag %]del[% id %]" class="button-delete">Delete</button>
|
||||
[% END %]
|
||||
</div>
|
||||
[% END %]
|
||||
</form>
|
||||
</li>
|
||||
[% id = id + 1 %]
|
||||
[% END %]
|
||||
</ul>
|
||||
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<ul class="cleanlist">
|
||||
<li class="ui-state-default">
|
||||
<form action="/peering/create_rewrite" method="post">
|
||||
<input type="hidden" name="grpid" value="[% peer.peer_host.group_id %]" />
|
||||
<input type="hidden" name="peerid" value="[% peer.peer_host.id %]" />
|
||||
<input type="hidden" name="direction" value="[% rw.dir %]" />
|
||||
<input type="hidden" name="field" value="[% rw.field%]" />
|
||||
<input type="hidden" name="priority" value="[% priority + 1 %]" />
|
||||
<div class="span-1"> </div>
|
||||
<div class="span-4">
|
||||
<input type="text" size="15" id="addtxt" title="string, match pattern"
|
||||
name="match_pattern" value="" />
|
||||
</div>
|
||||
<div class="span-4">
|
||||
<input type="text" size="15" id="addtxt" title="string, replacement pattern"
|
||||
name="replace_pattern" value="" />
|
||||
</div>
|
||||
<div class="span-4 append-1">
|
||||
<input type="text" size="15" id="addtxt" title="string, rule description"
|
||||
name="description" value="" />
|
||||
</div>
|
||||
<div class="span-1 append-2 last">
|
||||
<button class="button-add" id="[% rw.tag %]add">Add</button>
|
||||
</div>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="hspace-20"></div>
|
||||
[% END %]
|
||||
|
||||
[% END %]
|
||||
|
@ -0,0 +1,73 @@
|
||||
<h3 id="contract">Rewrite Rule Sets</h3>
|
||||
|
||||
[% IF messages.epeermsg %]<div class="success">[% messages.epeermsg %]</div>[% END %]
|
||||
[% IF messages.epeererr %]<div class="error">[% messages.epeererr %]</div>[% END %]
|
||||
[% IF messages.cpeermsg %]<div class="success">[% messages.cpeermsg %]</div>[% END %]
|
||||
[% IF messages.cpeererr %]<div class="error">[% messages.cpeererr %]</div>[% END %]
|
||||
|
||||
<ul class="cleanlist">
|
||||
<li class="ui-state-default">
|
||||
<div class="span-5">Name</div>
|
||||
<div class="span-9 last">Description</div>
|
||||
</li>
|
||||
[% id = 0 %]
|
||||
[% FOREACH set = rule_sets %]
|
||||
<li class="ui-state-default">
|
||||
[% IF set.id == editid %]
|
||||
<div class="span-5">[% set.name %]</div>
|
||||
<form action="/rewrite/edit_set" method="post">
|
||||
<input type="hidden" name="setid" value="[% set.id %]" />
|
||||
<div class="span-9">
|
||||
<input type="text" size="30" id="addtxt" title="string, description of rewrite rule set"
|
||||
name="setdesc" value="[% set.description %]" />
|
||||
</div>
|
||||
<div class="span-1">
|
||||
<button class="button-save" id="setsave[% id %]">Save</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="span-1 last">
|
||||
<a href="/rewrite"><span class="button-cancel">Cancel</span></a>
|
||||
</div>
|
||||
[% ELSE %]
|
||||
<div class="span-5"><a href="/rewrite/detail?set_id=[%set.id%]">[% set.name %]</a></div>
|
||||
<div class="span-9">[% set.description %]</div>
|
||||
<div class="span-1">
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<a href="/rewrite?editid=[% set.id %]"><span class="button-edit">Edit</span></a>
|
||||
[% END %]
|
||||
</div>
|
||||
<form action="/rewrite/delete_set" method="post">
|
||||
<input type="hidden" name="setid" value="[% set.id %]" />
|
||||
<div class="span-1 last">
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<button class="button-delete" id="setdel[% id %]">Delete</button>
|
||||
[% END %]
|
||||
</div>
|
||||
[% END %]
|
||||
</form>
|
||||
</li>
|
||||
[% id = id + 1 %]
|
||||
[% END %]
|
||||
|
||||
[% UNLESS Catalyst.session.admin.read_only %]
|
||||
<form action="/rewrite/create_set" method="post">
|
||||
<li class="ui-state-default">
|
||||
<div class="span-5">
|
||||
<input type="text" size="20" name="setname" title="string, name of rewrite rule set"
|
||||
id="addtxt" value="[% garefill.name %]" />
|
||||
</div>
|
||||
<div class="span-9">
|
||||
<input type="text" size="30" name="setdesc" title="string, description of rewrite rule set"
|
||||
id="addtxt" value="[% garefill.description %]" />
|
||||
</div>
|
||||
<div class="span-1 last">
|
||||
<button class="button-add" id="setadd">Add</button>
|
||||
</div>
|
||||
</li>
|
||||
</form>
|
||||
|
||||
</ul>
|
||||
|
||||
[% END %]
|
||||
|
||||
|
Loading…
Reference in new issue