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.
267 lines
11 KiB
267 lines
11 KiB
<h3 id="provider">LNP Providers</h3>
|
|
|
|
[% IF messages.provmsg %]<div class="success">[% messages.provmsg %]</div>[% END %]
|
|
[% IF messages.proverr %]<div class="error">[% messages.proverr %]</div>[% END %]
|
|
[% IF messages.peditnamsg %]<div class="error">[% messages.peditnamsg %]</div>[% END %]
|
|
[% IF messages.paddidmsg %]<div class="error">[% messages.paddidmsg %]</div>[% END %]
|
|
[% IF messages.paddnamsg %]<div class="error">[% messages.paddnamsg %]</div>[% END %]
|
|
|
|
<ul class="cleanlist">
|
|
<li class="ui-state-default">
|
|
<div class="span-5">ID</div>
|
|
<div class="span-6 last">Name</div>
|
|
</li>
|
|
[% FOREACH provider = providers %]
|
|
<li class="ui-state-default">
|
|
[% IF provider.id == edit_provider && !Catalyst.session.admin.read_only %]
|
|
<form action="/lnp/do_update_provider" method="post">
|
|
<input type="hidden" name="id" value="[% provider.id %]" />
|
|
<div class="span-5">[% provider.id %]</div>
|
|
<div class="span-6">
|
|
<input type="text" size="20" name="name" title="descriptive name, free-form"
|
|
value="[% provider.name %]" />
|
|
</div>
|
|
<div class="span-1">
|
|
<button id="listedit[% provider.id %]" class="button-save">Save</button>
|
|
</div>
|
|
<div class="span-1 last">
|
|
<a href="/lnp"><span class="button-cancel">Cancel</span></a>
|
|
</div>
|
|
</form>
|
|
[% ELSE %]
|
|
<div class="span-5">[% provider.id %]</div>
|
|
<div class="span-6">[% provider.name %]</div>
|
|
<div class="span-1">
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<a href="/lnp?edit_provider=[% provider.id %]"><span class="button-edit">Edit</span></a>
|
|
[% END %]
|
|
</div>
|
|
<div class="span-1">
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<form action="/lnp/do_delete_provider" method="post">
|
|
<input type="hidden" name="id" value="[% provider.id %]" />
|
|
<button class="button-delete" id="provdel[% provider.id %]">Delete</button>
|
|
</form>
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<li class="ui-state-default">
|
|
<form action="/lnp/do_create_provider" method="post">
|
|
<div class="span-5">
|
|
<input type="text" size="19" name="id" title="unique, integer ID"
|
|
value="[% parefill.id %]" />
|
|
</div>
|
|
<div class="span-6">
|
|
<input type="text" size="20" name="name" title="descriptive name, free-form"
|
|
value="[% parefill.name %]" />
|
|
</div>
|
|
<div class="span-1 last">
|
|
<button id="listpadd" class="button-add">Add</button>
|
|
</div>
|
|
</form>
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
<div class="hspace-20"></div>
|
|
|
|
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<h3 id="create_number">Add Ported Number</h3>
|
|
|
|
[% IF messages.cnumsg %]<div class="success">[% messages.cnumsg %]</div>[% END %]
|
|
[% IF narefill && prov_error %]<div class="error">[% prov_error %]</div>[% END %]
|
|
|
|
<ul class="cleanlist">
|
|
<form action="/lnp/do_create_number" method="post" class="search_subscriber">
|
|
<li class="ui-state-default">
|
|
<div class="span-4">Number</div>
|
|
<div class="span-4">Provider</div>
|
|
<div class="span-4">Start</div>
|
|
<div class="span-4">End</div>
|
|
</li>
|
|
<li class="ui-state-default">
|
|
<div class="span-4">
|
|
<input type="text" size="14" name="number" id="numaddnum" value="[% narefill.number %]"
|
|
title="E.164 phone number with country code" />
|
|
</div>
|
|
<div class="span-4">
|
|
<select size="1" style="width: 145px" name="lnp_provider_id" id="numaddprov">
|
|
[% FOREACH provider = providers %]
|
|
<option value="[% provider.id %]"
|
|
[% IF narefill.lnp_provider_id == provider.id %]selected="selected"[% END %]
|
|
>[% provider.name %]</option>
|
|
[% END %]
|
|
</select>
|
|
</div>
|
|
<div class="span-4">
|
|
<input type="text" size="14" id="numaddstart" name="start" value="[% narefill.start %]"
|
|
title="SQL date or timestamp in "YYYY-MM-DD hh:mm:ss" format" />
|
|
</div>
|
|
<div class="span-4">
|
|
<input type="text" size="14" id="numaddend" name="end" value="[% narefill.end %]"
|
|
title="SQL date or timestamp in "YYYY-MM-DD hh:mm:ss" format" />
|
|
</div>
|
|
<div class="span-1 last">
|
|
<button class="button-add" id="pnumadd">Add</button>
|
|
</div>
|
|
</li>
|
|
</form>
|
|
</ul>
|
|
<div class="hspace-20"></div>
|
|
[% END %]
|
|
|
|
<h3 id="search_numbers">Search Ported Numbers</h3>
|
|
|
|
<ul class="cleanlist">
|
|
<form action="/lnp/search_numbers" method="post" class="search_subscriber">
|
|
<li class="ui-state-default">
|
|
<div class="span-4">Number</div>
|
|
<div class="span-4">Provider</div>
|
|
<div class="span-2 last">Exact Match</div>
|
|
</li>
|
|
<li class="ui-state-default">
|
|
<div class="span-4">
|
|
<input type="text" size="14" id="search_by_number" name="search_number" title="SQL wildcards allowed"
|
|
value="[% searched_numbers.number %]" />
|
|
</div>
|
|
<div class="span-4">
|
|
<select size="1" style="width: 145px" name="search_provid">
|
|
<option value="0" [% UNLESS nerefill.lnp_provider_id %]selected="selected"[% END %]> </option>
|
|
[% FOREACH provider = providers %]
|
|
<option value="[% provider.id %]"
|
|
[% IF searched_numbers.lnp_provider_id == provider.id %]selected="selected"[% END %]
|
|
>[% provider.name %]</option>
|
|
[% END %]
|
|
</select>
|
|
</div>
|
|
<div class="span-2">
|
|
<input type="checkbox" class="checkbox" id="exact_number" name="exact_number"
|
|
[% IF searched_numbers.exact_number %]checked="checked"[% END %] />
|
|
</div>
|
|
<div class="span-1 last">
|
|
<button class="button-search">Search</button>
|
|
</div>
|
|
</li>
|
|
</form>
|
|
</ul>
|
|
<div class="hspace-20"></div>
|
|
|
|
[% IF numbers %]
|
|
<h3 id="stored_numbers">Found Ported Numbers</h3>
|
|
|
|
[% IF messages.enumsg %]<div class="success">[% messages.enumsg %]</div>[% END %]
|
|
|
|
<ul class="cleanlist">
|
|
<li class="ui-state-default">
|
|
<div class="span-4">Number</div>
|
|
<div class="span-3">Provider ID</div>
|
|
<div class="span-4">Start</div>
|
|
<div class="span-4 last">End</div>
|
|
</li>
|
|
[% FOREACH number = numbers %]
|
|
<li class="ui-state-default">
|
|
[% IF edit_number == number.id %]
|
|
<form action="/lnp/do_update_number" method="post">
|
|
<input type="hidden" name="id" value="[% number.id %]" />
|
|
<div class="span-4">
|
|
<input type="text" size="14" name="number" value="[% nerefill.number %]"
|
|
title="E.164 phone number with country code" />
|
|
</div>
|
|
<div class="span-3">
|
|
<select size="1" style="width: 105px" name="lnp_provider_id">
|
|
[% FOREACH provider = providers %]
|
|
<option value="[% provider.id %]"
|
|
[% IF nerefill.lnp_provider_id == provider.id %]selected="selected"[% END %]
|
|
>[% provider.name %]</option>
|
|
[% END %]
|
|
</select>
|
|
</div>
|
|
<div class="span-4">
|
|
<td><input type="text" size="14" name="start" value="[% nerefill.start %]"
|
|
title="SQL date or timestamp in "YYYY-MM-DD hh:mm:ss" format" />
|
|
</div>
|
|
<div class="span-4">
|
|
<td><input type="text" size="14" name="end" value="[% nerefill.end %]"
|
|
title="SQL date or timestamp in "YYYY-MM-DD hh:mm:ss" format" />
|
|
</div>
|
|
<div class="span-1">
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<button id="numedit[% number.id %]" class="button-save">Save</button>
|
|
[% END %]
|
|
</div>
|
|
<div class="span-1 last">
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<a href="/lnp#stored_numbers"><span class="button-cancel">Cancel</span></a>
|
|
[% END %]
|
|
</div>
|
|
</form>
|
|
[% ELSE %]
|
|
<div class="span-4">[% number.number %]</div>
|
|
<div class="span-3">[% number.lnp_provider %]</div>
|
|
<div class="span-4">[% number.start %]</div>
|
|
<div class="span-4">[% number.end %]</div>
|
|
<div class="span-1">
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<a href="/lnp?edit_number=[% number.id %]#stored_numbers"><span class="button-edit">Edit</span></a>
|
|
[% END %]
|
|
</div>
|
|
<div class="span-1 last">
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<form action="/lnp/do_delete_number" method="post">
|
|
<input type="hidden" name="id" value="[% number.id %]" />
|
|
<input type="hidden" name="last_one" value="[% last_one %]" />
|
|
<button class="button-delete" id="numdel[% number.id %]">Delete</button>
|
|
</form>
|
|
[% END %]
|
|
</div>
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
<div class="hspace-20"></div>
|
|
|
|
[% IF pagination %]
|
|
<div class="pagination">
|
|
<ul>
|
|
[% IF searched_numbers.offset == 0 %]
|
|
<li class="disablepage">« prev</li>
|
|
[% ELSE %]
|
|
<li class="nextpage">
|
|
<a href="/lnp/search_numbers?offset=[% searched_numbers.offset - 1 %]#stored_numbers">« prev</a>
|
|
</li>
|
|
[% END %]
|
|
[% FOREACH pagine = pagination %]
|
|
[% IF pagine.offset == searched_numbers.offset %]
|
|
<li class="currentpage">
|
|
[% pagine.offset + 1 %]
|
|
</li>
|
|
[% ELSIF pagine.offset == -1 %]
|
|
...
|
|
[% ELSE %]
|
|
<li>
|
|
<a href="/lnp/search_numbers?offset=[% pagine.offset %]#stored_numbers">[% pagine.offset + 1 %]</a>
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF searched_numbers.offset >= max_offset %]
|
|
<li class="disablepage">
|
|
next »
|
|
</li>
|
|
[% ELSE %]
|
|
<li class="nextpage">
|
|
<a href="/lnp/search_numbers?offset=[% searched_numbers.offset + 1 %]#stored_numbers">next »</a>
|
|
</li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF searched_numbers && ! numbers %]
|
|
No numbers matching your search criteria found.
|
|
[% END %]
|
|
|