92 lines
No EOL
2.5 KiB
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 %} |