more Icons cause everyone loves icons
This commit is contained in:
parent
fec9b5cf94
commit
b40ac6dc5d
|
@ -9,33 +9,35 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Applications" %}</h1>
|
<h1><span class="pficon-applications"></span> {% trans "Applications" %}</h1>
|
||||||
<span>{% trans "External Applications which use passbook as Identity-Provider, utilizing protocols like OAuth2 and SAML." %}</span>
|
<span>{% trans "External Applications which use passbook as Identity-Provider, utilizing protocols like OAuth2 and SAML." %}</span>
|
||||||
<hr>
|
<hr>
|
||||||
<a href="{% url 'passbook_admin:application-create' %}" class="btn btn-primary">
|
<a href="{% url 'passbook_admin:application-create' %}" class="btn btn-primary">
|
||||||
{% trans 'Create...' %}
|
{% trans 'Create...' %}
|
||||||
</a>
|
</a>
|
||||||
<hr>
|
<hr>
|
||||||
<table class="table table-striped table-bordered">
|
<table class="table table-striped table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% trans 'Name' %}</th>
|
<th>{% trans 'Name' %}</th>
|
||||||
<th>{% trans 'Provider' %}</th>
|
<th>{% trans 'Provider' %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for application in object_list %}
|
{% for application in object_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ application.name }}</td>
|
<td>{{ application.name }}</td>
|
||||||
<td>{{ application.provider }}</td>
|
<td>{{ application.provider }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:application-update' pk=application.uuid %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
<a class="btn btn-default btn-sm"
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:application-delete' pk=application.uuid %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
href="{% url 'passbook_admin:application-update' pk=application.uuid %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
||||||
</td>
|
<a class="btn btn-default btn-sm"
|
||||||
</tr>
|
href="{% url 'passbook_admin:application-delete' pk=application.uuid %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
||||||
{% endfor %}
|
</td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -8,80 +8,80 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans "Audit Log" %}</h1>
|
<h1><span class="pficon-catalog"></span> {% trans "Audit Log" %}</h1>
|
||||||
<div id="pf-list-standard" class="list-group list-view-pf list-view-pf-view">
|
<div id="pf-list-standard" class="list-group list-view-pf list-view-pf-view">
|
||||||
{% for entry in object_list %}
|
{% for entry in object_list %}
|
||||||
<div class="list-group-item">
|
<div class="list-group-item">
|
||||||
<div class="list-view-pf-main-info">
|
<div class="list-view-pf-main-info">
|
||||||
<div class="list-view-pf-left">
|
<div class="list-view-pf-left">
|
||||||
<span class="fa fa-plane list-view-pf-icon-sm"></span>
|
<span class="fa fa-plane list-view-pf-icon-sm"></span>
|
||||||
|
</div>
|
||||||
|
<div class="list-view-pf-body">
|
||||||
|
<div class="list-view-pf-description">
|
||||||
|
<div class="list-group-item-heading">
|
||||||
|
{{ entry.action }}
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item-text">
|
||||||
|
{{ entry.context }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-view-pf-additional-info">
|
||||||
|
<div class="list-view-pf-additional-info-item">
|
||||||
|
<span class="pficon pficon-user"></span>
|
||||||
|
<strong>{{ entry.user }}</strong>
|
||||||
|
</div>
|
||||||
|
<div class="list-view-pf-additional-info-item">
|
||||||
|
<span class="pficon pficon-cluster"></span>
|
||||||
|
<strong>{{ entry.app|default:'-' }}</strong>
|
||||||
|
</div>
|
||||||
|
<div class="list-view-pf-additional-info-item">
|
||||||
|
<span class="fa fa-clock-o"></span>
|
||||||
|
<strong>{{ entry.created }}</strong>
|
||||||
|
</div>
|
||||||
|
<div class="list-view-pf-additional-info-item">
|
||||||
|
<span class="pficon pficon-screen"></span>
|
||||||
|
<strong>{{ entry.request_ip }}</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-view-pf-body">
|
|
||||||
<div class="list-view-pf-description">
|
|
||||||
<div class="list-group-item-heading">
|
|
||||||
{{ entry.action }}
|
|
||||||
</div>
|
|
||||||
<div class="list-group-item-text">
|
|
||||||
{{ entry.context }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="list-view-pf-additional-info">
|
|
||||||
<div class="list-view-pf-additional-info-item">
|
|
||||||
<span class="pficon pficon-user"></span>
|
|
||||||
<strong>{{ entry.user }}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="list-view-pf-additional-info-item">
|
|
||||||
<span class="pficon pficon-cluster"></span>
|
|
||||||
<strong>{{ entry.app|default:'-' }}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="list-view-pf-additional-info-item">
|
|
||||||
<span class="fa fa-clock-o"></span>
|
|
||||||
<strong>{{ entry.created }}</strong>
|
|
||||||
</div>
|
|
||||||
<div class="list-view-pf-additional-info-item">
|
|
||||||
<span class="pficon pficon-screen"></span>
|
|
||||||
<strong>{{ entry.request_ip }}</strong>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
// Row Checkbox Selection
|
// Row Checkbox Selection
|
||||||
$("#pf-list-standard input[type='checkbox']").change(function (e) {
|
$("#pf-list-standard input[type='checkbox']").change(function (e) {
|
||||||
if ($(this).is(":checked")) {
|
if ($(this).is(":checked")) {
|
||||||
$(this).closest('.list-group-item').addClass("active");
|
$(this).closest('.list-group-item').addClass("active");
|
||||||
} else {
|
} else {
|
||||||
$(this).closest('.list-group-item').removeClass("active");
|
$(this).closest('.list-group-item').removeClass("active");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// toggle dropdown menu
|
// toggle dropdown menu
|
||||||
$('#pf-list-standard .list-view-pf-actions').on('show.bs.dropdown', function () {
|
$('#pf-list-standard .list-view-pf-actions').on('show.bs.dropdown', function () {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var $dropdown = $this.find('.dropdown');
|
var $dropdown = $this.find('.dropdown');
|
||||||
var space = $(window).height() - $dropdown[0].getBoundingClientRect().top - $this.find('.dropdown-menu').outerHeight(true);
|
var space = $(window).height() - $dropdown[0].getBoundingClientRect().top - $this.find('.dropdown-menu').outerHeight(true);
|
||||||
$dropdown.toggleClass('dropup', space < 10);
|
$dropdown.toggleClass('dropup', space < 10);
|
||||||
});
|
});
|
||||||
// allow users to select multiple list items with shift key
|
// allow users to select multiple list items with shift key
|
||||||
$('#pf-list-standard .list-group').on('click', '.list-view-pf-checkbox>input', function (event) {
|
$('#pf-list-standard .list-group').on('click', '.list-view-pf-checkbox>input', function (event) {
|
||||||
var $list = $('.list-group');
|
var $list = $('.list-group');
|
||||||
var prevIndex = $list.data('preIndex');
|
var prevIndex = $list.data('preIndex');
|
||||||
var $listItems = $list.children('.list-group-item');
|
var $listItems = $list.children('.list-group-item');
|
||||||
var $currentItem = $(this).closest('.list-group-item');
|
var $currentItem = $(this).closest('.list-group-item');
|
||||||
if (event.shiftKey && prevIndex > -1 && this.checked) {
|
if (event.shiftKey && prevIndex > -1 && this.checked) {
|
||||||
var currentIndex = $listItems.index($currentItem);
|
var currentIndex = $listItems.index($currentItem);
|
||||||
var $selectScope = currentIndex - prevIndex > 0
|
var $selectScope = currentIndex - prevIndex > 0
|
||||||
? $currentItem.prevAll().not($listItems.eq(prevIndex).prevAll().addBack())
|
? $currentItem.prevAll().not($listItems.eq(prevIndex).prevAll().addBack())
|
||||||
: $listItems.eq(prevIndex).prevAll().not($currentItem.prevAll().addBack());
|
: $listItems.eq(prevIndex).prevAll().not($currentItem.prevAll().addBack());
|
||||||
$selectScope.addClass('active').find('.list-view-pf-checkbox').children('input').prop('checked', true);
|
$selectScope.addClass('active').find('.list-view-pf-checkbox').children('input').prop('checked', true);
|
||||||
}
|
}
|
||||||
$list.data('preIndex', this.checked ? $listItems.index($currentItem) : -1);
|
$list.data('preIndex', this.checked ? $listItems.index($currentItem) : -1);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% include 'partials/pagination.html' %}
|
{% include 'partials/pagination.html' %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Factors" %}</h1>
|
<h1><span class="pficon-plugged"></span> {% trans "Factors" %}</h1>
|
||||||
<span>{% trans "Factors required for a user to successfully authenticate." %}</span>
|
<span>{% trans "Factors required for a user to successfully authenticate." %}</span>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
|
@ -20,7 +20,8 @@
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="createDropdown">
|
<ul class="dropdown-menu" role="menu" aria-labelledby="createDropdown">
|
||||||
{% for type, name in types.items %}
|
{% for type, name in types.items %}
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="{% url 'passbook_admin:factor-create' %}?type={{ type }}">{{ name }}</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1"
|
||||||
|
href="{% url 'passbook_admin:factor-create' %}?type={{ type }}">{{ name }}</a></li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -9,32 +9,35 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Invitations" %}</h1>
|
<h1><span class="pficon-migration"></span> {% trans "Invitations" %}</h1>
|
||||||
<span>{% trans "Create Invitation Links which optionally force a username or expire on a set date." %}</span>
|
<span>{% trans "Create Invitation Links which optionally force a username or expire on a set date." %}</span>
|
||||||
<hr>
|
<hr>
|
||||||
<a href="{% url 'passbook_admin:invitation-create' %}" class="btn btn-primary">
|
<a href="{% url 'passbook_admin:invitation-create' %}" class="btn btn-primary">
|
||||||
{% trans 'Create...' %}
|
{% trans 'Create...' %}
|
||||||
</a>
|
</a>
|
||||||
<hr>
|
<hr>
|
||||||
<table class="table table-striped table-bordered">
|
<table class="table table-striped table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% trans 'Expiry' %}</th>
|
<th>{% trans 'Expiry' %}</th>
|
||||||
<th>{% trans 'Link' %}</th>
|
<th>{% trans 'Link' %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for invitation in object_list %}
|
{% for invitation in object_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ invitation.expires|default:"Never" }}</td>
|
<td>{{ invitation.expires|default:"Never" }}</td>
|
||||||
<td><pre>{{ invitation.link }}</pre></td>
|
<td>
|
||||||
<td>
|
<pre>{{ invitation.link }}</pre>
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:invitation-delete' pk=invitation.uuid %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
</td>
|
||||||
</td>
|
<td>
|
||||||
</tr>
|
<a class="btn btn-default btn-sm"
|
||||||
{% endfor %}
|
href="{% url 'passbook_admin:invitation-delete' pk=invitation.uuid %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
||||||
</tbody>
|
</td>
|
||||||
</table>
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Applications' %}</a>
|
<a href="#"><span class="pficon-applications"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Applications' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Sources' %}</a>
|
<a href="#"><span class="pficon-resource-pool"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Sources' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Providers' %}</a>
|
<a href="#"><span class="pficon-integration"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Providers' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Factors' %}</a>
|
<a href="#"><span class="pficon-plugged"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Factors' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Invitation' %}</a>
|
<a href="#"><span class="pficon-migration"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Invitation' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Policies' %}</a>
|
<a href="#"><span class="pficon-infrastructure"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Policies' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
@ -79,7 +79,7 @@
|
||||||
<div class="col-xs-6 col-sm-2 col-md-2">
|
<div class="col-xs-6 col-sm-2 col-md-2">
|
||||||
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
<div class="card-pf card-pf-accented card-pf-aggregate-status">
|
||||||
<h2 class="card-pf-title">
|
<h2 class="card-pf-title">
|
||||||
<a href="#"><span class="fa fa-shield"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Users' %}</a>
|
<a href="#"><span class="pficon-users"></span><span class="card-pf-aggregate-status-count"></span> {% trans 'Users' %}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="card-pf-body">
|
<div class="card-pf-body">
|
||||||
<p class="card-pf-aggregate-status-notifications">
|
<p class="card-pf-aggregate-status-notifications">
|
||||||
|
|
|
@ -9,42 +9,46 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Policies" %}</h1>
|
<h1><span class="pficon-infrastructure"></span> {% trans "Policies" %}</h1>
|
||||||
<span>{% trans "Allow users to use Applications based on properties, enforce Password Criteria and selectively apply Factors." %}</span>
|
<span>{% trans "Allow users to use Applications based on properties, enforce Password Criteria and selectively apply Factors." %}</span>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<button class="btn btn-primary dropdown-toggle" type="button" id="createDropdown" data-toggle="dropdown">
|
<button class="btn btn-primary dropdown-toggle" type="button" id="createDropdown" data-toggle="dropdown">
|
||||||
{% trans 'Create...' %}
|
{% trans 'Create...' %}
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="createDropdown">
|
<ul class="dropdown-menu" role="menu" aria-labelledby="createDropdown">
|
||||||
{% for type, name in types.items %}
|
{% for type, name in types.items %}
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="{% url 'passbook_admin:policy-create' %}?type={{ type }}">{{ name }}</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1"
|
||||||
{% endfor %}
|
href="{% url 'passbook_admin:policy-create' %}?type={{ type }}">{{ name }}</a></li>
|
||||||
</ul>
|
{% endfor %}
|
||||||
</div>
|
</ul>
|
||||||
<hr>
|
</div>
|
||||||
<table class="table table-striped table-bordered">
|
<hr>
|
||||||
<thead>
|
<table class="table table-striped table-bordered">
|
||||||
<tr>
|
<thead>
|
||||||
<th>{% trans 'Name' %}</th>
|
<tr>
|
||||||
<th>{% trans 'Class' %}</th>
|
<th>{% trans 'Name' %}</th>
|
||||||
<th></th>
|
<th>{% trans 'Class' %}</th>
|
||||||
</tr>
|
<th></th>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
{% for policy in object_list %}
|
<tbody>
|
||||||
<tr>
|
{% for policy in object_list %}
|
||||||
<td>{{ policy.name }}</td>
|
<tr>
|
||||||
<td>{{ policy|fieldtype }}</td>
|
<td>{{ policy.name }}</td>
|
||||||
<td>
|
<td>{{ policy|fieldtype }}</td>
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:policy-update' pk=policy.uuid %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
<td>
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:policy-test' pk=policy.uuid %}?back={{ request.get_full_path }}">{% trans 'Test' %}</a>
|
<a class="btn btn-default btn-sm"
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:policy-delete' pk=policy.uuid %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
href="{% url 'passbook_admin:policy-update' pk=policy.uuid %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
||||||
</td>
|
<a class="btn btn-default btn-sm"
|
||||||
</tr>
|
href="{% url 'passbook_admin:policy-test' pk=policy.uuid %}?back={{ request.get_full_path }}">{% trans 'Test' %}</a>
|
||||||
{% endfor %}
|
<a class="btn btn-default btn-sm"
|
||||||
</tbody>
|
href="{% url 'passbook_admin:policy-delete' pk=policy.uuid %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
||||||
</table>
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -10,45 +10,49 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Providers" %}</h1>
|
<h1><span class="pficon-integration"></span> {% trans "Providers" %}</h1>
|
||||||
<span>{% trans "Authentication Protocol Provider, used as Protocol behind an Application." %}</span>
|
<span>{% trans "Authentication Protocol Provider, used as Protocol behind an Application." %}</span>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<button class="btn btn-primary dropdown-toggle" type="button" id="createDropdown" data-toggle="dropdown">
|
<button class="btn btn-primary dropdown-toggle" type="button" id="createDropdown" data-toggle="dropdown">
|
||||||
{% trans 'Create...' %}
|
{% trans 'Create...' %}
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="createDropdown">
|
<ul class="dropdown-menu" role="menu" aria-labelledby="createDropdown">
|
||||||
{% for type, name in types.items %}
|
{% for type, name in types.items %}
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="{% url 'passbook_admin:provider-create' %}?type={{ type }}">{{ name }}</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1"
|
||||||
{% endfor %}
|
href="{% url 'passbook_admin:provider-create' %}?type={{ type }}">{{ name }}</a></li>
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
<table class="table table-striped table-bordered">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>{% trans 'Name' %}</th>
|
|
||||||
<th>{% trans 'Class' %}</th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% for provider in object_list %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ provider.name }}</td>
|
|
||||||
<td>{{ provider|fieldtype }}</td>
|
|
||||||
<td>
|
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:provider-update' pk=provider.pk %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:provider-delete' pk=provider.pk %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
|
||||||
{% get_links provider as links %}
|
|
||||||
{% for name, href in links.items %}
|
|
||||||
<a class="btn btn-default btn-sm" href="{{ href }}?back={{ request.get_full_path }}">{% trans name %}</a>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</ul>
|
||||||
</tr>
|
</div>
|
||||||
{% endfor %}
|
<hr>
|
||||||
</tbody>
|
<table class="table table-striped table-bordered">
|
||||||
</table>
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{% trans 'Name' %}</th>
|
||||||
|
<th>{% trans 'Class' %}</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for provider in object_list %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ provider.name }}</td>
|
||||||
|
<td>{{ provider|fieldtype }}</td>
|
||||||
|
<td>
|
||||||
|
<a class="btn btn-default btn-sm"
|
||||||
|
href="{% url 'passbook_admin:provider-update' pk=provider.pk %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
||||||
|
<a class="btn btn-default btn-sm"
|
||||||
|
href="{% url 'passbook_admin:provider-delete' pk=provider.pk %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
||||||
|
{% get_links provider as links %}
|
||||||
|
{% for name, href in links.items %}
|
||||||
|
<a class="btn btn-default btn-sm"
|
||||||
|
href="{{ href }}?back={{ request.get_full_path }}">{% trans name %}</a>
|
||||||
|
{% endfor %}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Sources" %}</h1>
|
<h1><span class="pficon-resource-pool"></span> {% trans "Sources" %}</h1>
|
||||||
<span>{% trans "External Sources which can be used to get Identities into passbook, for example Social Providers like Twiter and GitHub or Enterprise Providers like ADFS and LDAP." %}</span>
|
<span>{% trans "External Sources which can be used to get Identities into passbook, for example Social Providers like Twiter and GitHub or Enterprise Providers like ADFS and LDAP." %}</span>
|
||||||
<hr>
|
<hr>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
|
|
|
@ -5,34 +5,36 @@
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{% trans "Users" %}</h1>
|
<h1><span class="pficon-users"></span> {% trans "Users" %}</h1>
|
||||||
<hr>
|
<hr>
|
||||||
<table class="table table-striped table-bordered">
|
<table class="table table-striped table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% trans 'Username' %}</th>
|
<th>{% trans 'Username' %}</th>
|
||||||
<th>{% trans 'First Name' %}</th>
|
<th>{% trans 'First Name' %}</th>
|
||||||
<th>{% trans 'Last Name' %}</th>
|
<th>{% trans 'Last Name' %}</th>
|
||||||
<th>{% trans 'Active' %}</th>
|
<th>{% trans 'Active' %}</th>
|
||||||
<th>{% trans 'Last Login' %}</th>
|
<th>{% trans 'Last Login' %}</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for user in object_list %}
|
{% for user in object_list %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ user.username }}</td>
|
<td>{{ user.username }}</td>
|
||||||
<td>{{ user.first_name|default:'-' }}</td>
|
<td>{{ user.first_name|default:'-' }}</td>
|
||||||
<td>{{ user.last_name|default:'-' }}</td>
|
<td>{{ user.last_name|default:'-' }}</td>
|
||||||
<td>{{ user.is_active }}</td>
|
<td>{{ user.is_active }}</td>
|
||||||
<td>{{ user.last_login }}</td>
|
<td>{{ user.last_login }}</td>
|
||||||
<td>
|
<td>
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:user-update' pk=user.pk %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
<a class="btn btn-default btn-sm"
|
||||||
<a class="btn btn-default btn-sm" href="{% url 'passbook_admin:user-delete' pk=user.pk %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
href="{% url 'passbook_admin:user-update' pk=user.pk %}?back={{ request.get_full_path }}">{% trans 'Edit' %}</a>
|
||||||
</td>
|
<a class="btn btn-default btn-sm"
|
||||||
</tr>
|
href="{% url 'passbook_admin:user-delete' pk=user.pk %}?back={{ request.get_full_path }}">{% trans 'Delete' %}</a>
|
||||||
{% endfor %}
|
</td>
|
||||||
</tbody>
|
</tr>
|
||||||
</table>
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Reference in New Issue