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.
548 lines
26 KiB
548 lines
26 KiB
<h2> Domain
|
|
<a class="noarrow" href="detail?domain=[% domain.domain %]">[% domain.domain %]</a>
|
|
</h2>
|
|
|
|
<a href="/domain" class="aaction">back</a>
|
|
|
|
[% 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 %]&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">
|
|
[% 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.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>
|
|
<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/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 %]&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 %]" />
|
|
<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="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 %]
|
|
[% 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"
|
|
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>
|
|
</td>
|
|
<td />
|
|
</form>
|
|
</tr>
|
|
[% END %]
|
|
|
|
</table>
|
|
</div>
|
|
|
|
<h3 id="ocaller">Outbound Rewrite Rules for Caller</h3>
|
|
|
|
<div class="p1">
|
|
[% IF messages.ocallermsg %]<div class="goodmsg">[% messages.ocallermsg %]</div>[% END %]
|
|
[% IF messages.ocallererr %]<div class="errormsg">[% messages.ocallererr %]</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_out_caller %]
|
|
<tr>
|
|
[% IF rule.id == ofeditid && !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="ofsave[% id %]">save</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="ofsave[% 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 %]&ofeditid=[% 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="ofdel[% id %]">delete</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="ofdel[% 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="out" />
|
|
<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="ofadd">add</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="ofadd" />
|
|
</div>
|
|
</td>
|
|
<td />
|
|
</form>
|
|
</tr>
|
|
[% END %]
|
|
|
|
</table>
|
|
</div>
|
|
|
|
[% END %]
|
|
|
|
[% IF Catalyst.config.domain.audiofile_features %]
|
|
|
|
<h3 id="audio">Audio Files</h3>
|
|
|
|
<div class="p1">
|
|
[% IF messages.audiomsg %]<div class="goodmsg">[% messages.audiomsg %]</div>[% END %]
|
|
[% IF messages.audioerr %]<div class="errormsg">[% messages.audioerr %]</div>[% END %]
|
|
|
|
<table class="audiofiles">
|
|
<tr class="table_header">
|
|
<td style="width:100px;">Handle</td>
|
|
<td style="width:250px;">Description</td>
|
|
<td style="width:180px;">Audio</td>
|
|
<td style="width:40px;" />
|
|
<td style="width:60px;" />
|
|
</tr>
|
|
[% id = 0 %]
|
|
[% FOREACH audio = audio_files %]
|
|
[% id = id + 1 %]
|
|
[% IF audio.handle == edit_audio %]
|
|
<tr>
|
|
<form action="/domain/do_update_audio" enctype="multipart/form-data" method="post">
|
|
<td>[% audio.handle %]</td>
|
|
<td>
|
|
<input type="text" class="iaudiodesc" title="free-form description string"
|
|
name="description" value="[% aerefill.description %]" />
|
|
</td>
|
|
<td>
|
|
<input type="file" size="10" class="file" id="eupload_audio" name="eupload_audio"
|
|
title="audio file in wave format" />
|
|
</td>
|
|
<td>
|
|
<input type="hidden" name="domain" value="[% domain.domain %]" />
|
|
<input type="hidden" name="handle" value="[% audio.handle %]" />
|
|
<div class="postlink">
|
|
<label for="audiosave">save</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="audiosave" />
|
|
</div>
|
|
</td>
|
|
</form>
|
|
<td><a href="/domain/detail?domain=[% domain.domain %]#audio" class="aaction">cancel</a></td>
|
|
</tr>
|
|
[% IF aerefill && prov_error %]<tr><td colspan="5"><div class="errormsg">[% prov_error %]</div></td></tr>[% END %]
|
|
[% ELSE %]
|
|
<tr>
|
|
<td>[% audio.handle %]</td>
|
|
<td>[% audio.description %]</td>
|
|
<td><a href="/domain/listen_audio?domain=[% domain.domain %]&handle=[% audio.handle %]">listen</a></td>
|
|
<td>
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<a href="/domain/detail?domain=[% domain.domain %]&edit_audio=[% audio.handle %]#audio" class="aaction">edit</a>
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
<form action="/domain/do_delete_audio" method="post">
|
|
<input type="hidden" name="domain" value="[% domain.domain %]" />
|
|
<input type="hidden" name="handle" value="[% audio.handle %]" />
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<div class="postlink">
|
|
<label for="audiodel[% id %]">delete</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="audiodel[% id %]" />
|
|
</div>
|
|
[% END %]
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
[% IF audio.handle == delete_audio && prov_error %]
|
|
<tr><td colspan="5"><div class="errormsg">[% prov_error %]</div></td></tr>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
<tr>
|
|
<form action="/domain/do_create_audio" enctype="multipart/form-data" method="post">
|
|
<td>
|
|
<input type="text" class="ihandle" title="unique identifier string"
|
|
name="handle" value="[% acrefill.handle %]" />
|
|
</td>
|
|
<td>
|
|
<input type="text" class="iaudiodesc" title="free-form description string"
|
|
name="description" value="[% acrefill.data.description %]" />
|
|
</td>
|
|
<td>
|
|
<input type="file" size="10" class="file" id="cupload_audio" name="cupload_audio"
|
|
title="audio file in wave format" />
|
|
</td>
|
|
<td>
|
|
<input type="hidden" name="domain" value="[% domain.domain %]" />
|
|
<div class="postlink">
|
|
<label for="audioadd">add</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="audioadd" />
|
|
</div>
|
|
</td>
|
|
</form>
|
|
<td />
|
|
</tr>
|
|
</table>
|
|
[% IF acrefill && prov_error %]<div class="errormsg">[% prov_error %]</div>[% END %]
|
|
</div>
|
|
|
|
[% END %]
|
|
|
|
[% IF Catalyst.config.domain.vsc_features %]
|
|
|
|
<h3 id="vsc">Vertical Service Codes</h3>
|
|
|
|
<div class="p1">
|
|
[% IF messages.vscmsg %]<div class="goodmsg">[% messages.vscmsg %]</div>[% END %]
|
|
[% IF messages.vscerr %]<div class="errormsg">[% messages.vscerr %]</div>[% END %]
|
|
|
|
<table class="vscs">
|
|
<tr class="table_header">
|
|
<td style="width:120px;">Action</td>
|
|
<td style="width:40;">Digits</td>
|
|
<td style="width:120px;">Audio</td>
|
|
<td style="width:250px;">Description</td>
|
|
<td style="width:40px;" />
|
|
<td style="width:60px;" />
|
|
</tr>
|
|
[% id = 0 %]
|
|
[% FOREACH vsc = vscs %]
|
|
[% id = id + 1 %]
|
|
[% IF vsc.action == edit_vsc %]
|
|
<tr>
|
|
<form action="/domain/do_update_vsc" method="post">
|
|
<td>[% vsc.action %]</td>
|
|
<td>
|
|
<input type="text" maxlength="2" class="irealshort" title="two-digit dialcode for VoIP devices"
|
|
name="digits" value="[% verefill.digits %]" />
|
|
</td>
|
|
<td>
|
|
<select size="1" name="audio_file_handle"
|
|
title="the audio which will be played after execution">
|
|
[% FOREACH audio = audio_files %]
|
|
<option value="[% audio.handle %]"
|
|
[% IF verefill.audio_file_handle == audio.handle %]selected="selected"[% END %]
|
|
>[% audio.handle %]</option>
|
|
[% END %]
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<input type="text" class="iaudiodesc" title="free-form description string"
|
|
name="description" value="[% verefill.description %]" />
|
|
</td>
|
|
<td>
|
|
<input type="hidden" name="domain" value="[% domain.domain %]" />
|
|
<input type="hidden" name="action" value="[% vsc.action %]" />
|
|
<div class="postlink">
|
|
<label for="vscsave">save</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="vscsave" />
|
|
</div>
|
|
</td>
|
|
</form>
|
|
<td><a href="/domain/detail?domain=[% domain.domain %]#vsc" class="aaction">cancel</a></td>
|
|
</tr>
|
|
[% IF verefill && prov_error %]<tr><td colspan="5"><div class="errormsg">[% prov_error %]</div></td></tr>[% END %]
|
|
[% ELSE %]
|
|
<tr>
|
|
<td>[% vsc.action %]</td>
|
|
<td>[% vsc.digits %]</td>
|
|
<td>[% vsc.audio_file_handle %]</td>
|
|
<td>[% vsc.description %]</td>
|
|
<td>
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<a href="/domain/detail?domain=[% domain.domain %]&edit_vsc=[% vsc.action %]#vsc" class="aaction">edit</a>
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
<form action="/domain/do_delete_vsc" method="post">
|
|
<input type="hidden" name="domain" value="[% domain.domain %]" />
|
|
<input type="hidden" name="action" value="[% vsc.action %]" />
|
|
[% UNLESS Catalyst.session.admin.read_only %]
|
|
<div class="postlink">
|
|
<label for="vscdel[% id %]">delete</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="vscdel[% id %]" />
|
|
</div>
|
|
[% END %]
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF vsc_actions %]
|
|
<tr>
|
|
<form action="/domain/do_create_vsc" method="post">
|
|
<td>
|
|
<select size="1" name="action"
|
|
title="the VSC action that should be triggered">
|
|
[% FOREACH action = vsc_actions %]
|
|
<option value="[% action %]"
|
|
[% IF vcrefill.action == action %]selected="selected"[% END %]
|
|
>[% action %]</option>
|
|
[% END %]
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<input type="text" maxlength="2" class="irealshort" title="two-digit dialcode for VoIP devices"
|
|
name="digits" value="[% vcrefill.data.digits %]" />
|
|
</td>
|
|
<td>
|
|
<select size="1" name="audio_file_handle"
|
|
title="the audio which will be played after execution">
|
|
[% FOREACH audio = audio_files %]
|
|
<option value="[% audio.handle %]"
|
|
[% IF vcrefill.data.audio_file_handle == audio.handle %]selected="selected"[% END %]
|
|
>[% audio.handle %]</option>
|
|
[% END %]
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<input type="text" class="iaudiodesc" title="free-form description string"
|
|
name="description" value="[% vcrefill.data.description %]" />
|
|
</td>
|
|
<td>
|
|
<input type="hidden" name="domain" value="[% domain.domain %]" />
|
|
<div class="postlink">
|
|
<label for="vscadd">add</label>
|
|
<input type="image" class="hidden" src="/static/images/dot_trans.gif" alt="" id="vscadd" />
|
|
</div>
|
|
</td>
|
|
</form>
|
|
<td />
|
|
</tr>
|
|
[% ELSE %]
|
|
<tr><td colspan="6" class="tdcenter">No undefined VSC actions found.</td></tr>
|
|
[% END %]
|
|
</table>
|
|
[% IF vcrefill && prov_error %]<div class="errormsg">[% prov_error %]</div>[% END %]
|
|
</div>
|
|
|
|
[% END %]
|
|
|