salt/states/roles/maintain/saltpad/templates/roles.html

92 lines
No EOL
2.5 KiB
HTML

{% extends "base_logged.html" %}
{% block page %}
<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h1>Modules <small>Roles</small></h1>
<ol class="breadcrumb">
<li><a href="{{ url_for('index') }}"><i class="fa fa-dashboard"></i> SaltPad</a></li>
<li class="active"><i class="fa fa-check-square"></i> Roles</li>
</ol>
</div>
</div><!-- /.row -->
<div class="row">
<div class="col-lg-12">
<h2>Roles</h2>
<div class="table-responsive">
<table class="table table-bordered table-hover tablesorter" id="roles">
<thead>
<tr>
<th>Role</th>
<th>Maintainers</th>
<th>Servers</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
{% for role in roles %}
<tr>
<td><a href="{{ url_for('role_display',role=role) }}">{{ role }}</a></td>
<td>
{% for maintainer in roles[role]["maintainer"] %}
{{ maintainer }}</br>
{% endfor %}
</td>
<td>
{% for server in roles[role]["servers"] %}
<a href="{{ url_for('server_display',server=server) }}">{{ server }}</a></br>
{% endfor %}
</td>
<td>
{% for maintainer in roles[role]["maintainer"] %}
{% if maintainer in mnts %}
<button type="button" onclick="delRole('{{ role}}');" class="btn btn-default">delete {{ role }}</button>
{% endif %}
{% endfor %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div>
<input type="text" name="role" id="role_add"/>
<button type="button" onclick="addRole();" class="btn btn-default">add role</button>
</div>
</div>
</div>
</div><!-- /.row -->
{% endblock %}
{% block scripts %}
<script type="text/javascript">
var roles = [];
{% for role in roles %}
roles.push('{{role}}');
{% endfor %}
function addRole(){
var re = /^[a-zA-Z0-1_-]+$/;
var txt = document.getElementById("role_add").value;
if(txt.match(re)){
var found = false;
for(var i=0;i<roles.length;i++){
if(txt == roles[i]){
found = true;
break;
}
}
if(!found)
window.location = "{{ url_for('role_add',role="")}}"+txt;
else
alert("Role already exists");
}else{
alert("Role name can only contain letters, numbers, - and _");
}
}
function delRole(role){
window.location = "{{ url_for('role_del',role="")}}"+role;
}
</script>
{% endblock %}