mirror of https://github.com/sipwise/www_admin.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
232 lines
9.8 KiB
232 lines
9.8 KiB
<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 = 999 %]
|
|
[% 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 %]
|
|
|