misc: apply djhtml (#69422)
This commit is contained in:
parent
bcfc26d116
commit
8251b8188f
|
@ -7,7 +7,7 @@
|
|||
<a class="extra-actions-menu-opener"></a>
|
||||
|
||||
{% if object.has_valid_configuration and not object.protected %}
|
||||
<a href="{% url 'a2-manager-authenticator-toggle' pk=object.pk %}">{{ object.enabled|yesno:_("Disable,Enable") }}</a>
|
||||
<a href="{% url 'a2-manager-authenticator-toggle' pk=object.pk %}">{{ object.enabled|yesno:_("Disable,Enable") }}</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'a2-manager-authenticator-edit' pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
<ul class="extra-actions-menu">
|
||||
|
@ -26,9 +26,9 @@
|
|||
|
||||
{% block content %}
|
||||
{% if not object.has_valid_configuration %}
|
||||
<div class="warningnotice">
|
||||
{% trans "This authenticator cannot be enabled because configuration is not complete." %}
|
||||
</div>
|
||||
<div class="warningnotice">
|
||||
{% trans "This authenticator cannot be enabled because configuration is not complete." %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class='section authenticator-detail'>
|
||||
|
|
|
@ -25,22 +25,22 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
function set_order_field_value () {
|
||||
var new_order = $('#authenticators-ordered-list li').map(
|
||||
function() { return $(this).data('authenticator-id'); }
|
||||
).get().join();
|
||||
$('#id_order').val(new_order);
|
||||
}
|
||||
set_order_field_value();
|
||||
$(function () {
|
||||
function set_order_field_value () {
|
||||
var new_order = $('#authenticators-ordered-list li').map(
|
||||
function() { return $(this).data('authenticator-id'); }
|
||||
).get().join();
|
||||
$('#id_order').val(new_order);
|
||||
}
|
||||
set_order_field_value();
|
||||
|
||||
$('#authenticators-ordered-list').sortable({
|
||||
handle: '.handle',
|
||||
stop: function(event, ui) {
|
||||
set_order_field_value();
|
||||
}
|
||||
}).sortable('refresh');
|
||||
});
|
||||
$('#authenticators-ordered-list').sortable({
|
||||
handle: '.handle',
|
||||
stop: function(event, ui) {
|
||||
set_order_field_value();
|
||||
}
|
||||
}).sortable('refresh');
|
||||
});
|
||||
</script>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
{% load i18n %}
|
||||
<div class="table-container">
|
||||
{% for event in page %}
|
||||
{% if forloop.first %}
|
||||
<table class="main plaintable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="journal-list--timestamp-column">{% trans "Timestamp" %}</th>
|
||||
<th class="journal-list--user-column">{% trans "User" %}</th>
|
||||
<th class="journal-list--session-column">{% trans "Session" %}</th>
|
||||
<th class="journal-list--message-column">{% trans "Message" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for event in page %}
|
||||
{% if forloop.first %}
|
||||
<table class="main plaintable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="journal-list--timestamp-column">{% trans "Timestamp" %}</th>
|
||||
<th class="journal-list--user-column">{% trans "User" %}</th>
|
||||
<th class="journal-list--session-column">{% trans "Session" %}</th>
|
||||
<th class="journal-list--message-column">{% trans "Message" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% endif %}
|
||||
<tr data-event-id="{{ event.id }}" data-event-cursor="{{ event.cursor }}" data-event-type="{{ event.type.name }}">
|
||||
<td class="journal-list--timestamp-column">{% block event-timestamp %}{{ event.timestamp }}{% endblock %}</td>
|
||||
<td class="journal-list--user-column" {% if event.user %}data-user-id="{{ event.user.id }}"{% endif %}>{% block event-user %}{% if event.user %}<a href="{% url 'a2-manager-user-detail' pk=event.user.pk %}">{{ event.user }}</a>{% else %}-{% endif %}{% endblock %}</td>
|
||||
<td class="journal-list--session-column">{% block event-session %}{% if event.api %}API{% else %}{{ event.session_id_shortened|default:"-" }}{% endif %}{% endblock %}</td>
|
||||
<td class="journal-list--message-column">{% block event-message %}{{ event.message|default:"-" }}{% endblock %}</td>
|
||||
</tr>
|
||||
{% if forloop.last %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
{% block empty %}
|
||||
<div>
|
||||
{% if request.GET %}
|
||||
<p>{% trans "No event found." %}</p>
|
||||
{% else %}
|
||||
<p>{% trans "Journal is empty." %}</p>
|
||||
{% endif %}
|
||||
<tr data-event-id="{{ event.id }}" data-event-cursor="{{ event.cursor }}" data-event-type="{{ event.type.name }}">
|
||||
<td class="journal-list--timestamp-column">{% block event-timestamp %}{{ event.timestamp }}{% endblock %}</td>
|
||||
<td class="journal-list--user-column" {% if event.user %}data-user-id="{{ event.user.id }}"{% endif %}>{% block event-user %}{% if event.user %}<a href="{% url 'a2-manager-user-detail' pk=event.user.pk %}">{{ event.user }}</a>{% else %}-{% endif %}{% endblock %}</td>
|
||||
<td class="journal-list--session-column">{% block event-session %}{% if event.api %}API{% else %}{{ event.session_id_shortened|default:"-" }}{% endif %}{% endblock %}</td>
|
||||
<td class="journal-list--message-column">{% block event-message %}{{ event.message|default:"-" }}{% endblock %}</td>
|
||||
</tr>
|
||||
{% if forloop.last %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
{% empty %}
|
||||
{% block empty %}
|
||||
<div>
|
||||
{% if request.GET %}
|
||||
<p>{% trans "No event found." %}</p>
|
||||
{% else %}
|
||||
<p>{% trans "Journal is empty." %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% include "journal/pagination.html" with page=page %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% include "journal/pagination.html" with page=page %}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{% load i18n %}
|
||||
<p class="paginator">
|
||||
{% if not page.is_first_page %}
|
||||
<a href="{{ page.first_page_url }}">{% trans "First page" %}</a>
|
||||
<a href="{{ page.previous_page_url }}">{% trans "Previous page" %}</a>
|
||||
{% endif %}
|
||||
{% if not page.is_first_page and not page.is_last_page %}
|
||||
…
|
||||
{% endif %}
|
||||
{% if not page.is_last_page %}
|
||||
<a href="{{ page.next_page_url }}">{% trans "Next page" %}</a>
|
||||
<a href="{{ page.last_page_url }}">{% trans "Last page" %}</a>
|
||||
{% endif %}
|
||||
{% if not page.is_first_page %}
|
||||
<a href="{{ page.first_page_url }}">{% trans "First page" %}</a>
|
||||
<a href="{{ page.previous_page_url }}">{% trans "Previous page" %}</a>
|
||||
{% endif %}
|
||||
{% if not page.is_first_page and not page.is_last_page %}
|
||||
…
|
||||
{% endif %}
|
||||
{% if not page.is_last_page %}
|
||||
<a href="{{ page.next_page_url }}">{% trans "Next page" %}</a>
|
||||
<a href="{{ page.last_page_url }}">{% trans "Last page" %}</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{% load i18n %}
|
||||
{% for external_id in user.userexternalid_set.all %}
|
||||
<p>
|
||||
{% blocktrans trimmed with source=external_id.source created=external_id.created uid=external_id.external_id %}
|
||||
Link with LDAP server "{{ source }}" created on {{ created }} (external_id {{ uid }}).
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>
|
||||
{% blocktrans trimmed with source=external_id.source created=external_id.created uid=external_id.external_id %}
|
||||
Link with LDAP server "{{ source }}" created on {{ created }} (external_id {{ uid }}).
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endfor %}
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<p>
|
||||
{% blocktrans %}We were unable to load provider <tt>{{ entity_id }}</tt>.{% endblocktrans %}
|
||||
{% if request.user.is_staff %}
|
||||
{% blocktrans %}
|
||||
You can <a href="{{ add_url }}">add</a> it now or <a href="">retry</a>.
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p>
|
||||
{% blocktrans %}We were unable to load provider <tt>{{ entity_id }}</tt>.{% endblocktrans %}
|
||||
{% if request.user.is_staff %}
|
||||
{% blocktrans %}
|
||||
You can <a href="{{ add_url }}">add</a> it now or <a href="">retry</a>.
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -15,22 +15,22 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% if api_client.description %}
|
||||
<div class="bo-block">{{api_client.description}}</div>
|
||||
{% endif %}
|
||||
<div class="bo-block">
|
||||
<h3>{% trans "Parameters" %}</h3>
|
||||
<ul>
|
||||
<li>{% trans "identifier" %} : {{api_client.identifier}}</li>
|
||||
<li>{% trans "password" %} : {{api_client.password}}</li>
|
||||
{% if api_client.restrict_to_anonymised_data %}<li>{% trans "Restricted to anonymised data" %}</li>{% endif %}
|
||||
{% if api_client.apiclient_roles.count %}
|
||||
<li>{% trans "Roles:" %}
|
||||
<ul>
|
||||
{% for role in api_client.apiclient_roles.all %}<li>{{ role.name }}</li>{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% if api_client.description %}
|
||||
<div class="bo-block">{{api_client.description}}</div>
|
||||
{% endif %}
|
||||
<div class="bo-block">
|
||||
<h3>{% trans "Parameters" %}</h3>
|
||||
<ul>
|
||||
<li>{% trans "identifier" %} : {{api_client.identifier}}</li>
|
||||
<li>{% trans "password" %} : {{api_client.password}}</li>
|
||||
{% if api_client.restrict_to_anonymised_data %}<li>{% trans "Restricted to anonymised data" %}</li>{% endif %}
|
||||
{% if api_client.apiclient_roles.count %}
|
||||
<li>{% trans "Roles:" %}
|
||||
<ul>
|
||||
{% for role in api_client.apiclient_roles.all %}<li>{{ role.name }}</li>{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -9,15 +9,15 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% if object_list %}
|
||||
<ul class="objects-list single-links">
|
||||
{% for api_client in object_list %}
|
||||
<li>
|
||||
<a href="{% url 'a2-manager-api-client-detail' pk=api_client.pk %}">{{api_client.name}} ({{api_client.identifier}})</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<div class="infonotice">{% trans "There are no API client defined." %}</div>
|
||||
{% endif %}
|
||||
{% if object_list %}
|
||||
<ul class="objects-list single-links">
|
||||
{% for api_client in object_list %}
|
||||
<li>
|
||||
<a href="{% url 'a2-manager-api-client-detail' pk=api_client.pk %}">{{api_client.name}} ({{api_client.identifier}})</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<div class="infonotice">{% trans "There are no API client defined." %}</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{# don't use gadjo default behaviour of loading $static/css/style.css #}
|
||||
{# don't use gadjo default behaviour of loading $static/css/style.css #}
|
||||
{% endblock %}
|
||||
|
||||
{% block extrascripts %}
|
||||
|
@ -31,7 +31,7 @@
|
|||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
{% if not manager_homepage_url %}
|
||||
<a href="{% url 'a2-manager-homepage' %}">{% trans 'Administration' as default_site_title %}{% firstof manager_site_title default_site_title %}</a>
|
||||
<a href="{% url 'a2-manager-homepage' %}">{% trans 'Administration' as default_site_title %}{% firstof manager_site_title default_site_title %}</a>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
{% csrf_token %}
|
||||
<div class="form-inner-container">
|
||||
{% block caption %}
|
||||
<p>{% blocktrans %}Do you want to delete {{ model_name }} {{ object }}?{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}Do you want to delete {{ model_name }} {{ object }}?{% endblocktrans %}</p>
|
||||
{% endblock %}
|
||||
<div class="buttons">
|
||||
<button class="delete-button">{% trans "Delete" %}</button>
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
|
||||
|
||||
{% for detail in details %}
|
||||
<div id="id_{{ detail.name }}" {% if detail.class %}class="{{ detail.class }}"{% endif %}>
|
||||
<label for="id_{{ detail.name }}">{{ detail.label }}</label>
|
||||
<input readonly value="{{ detail.value }}">
|
||||
</div>
|
||||
<div id="id_{{ detail.name }}" {% if detail.class %}class="{{ detail.class }}"{% endif %}>
|
||||
<label for="id_{{ detail.name }}">{{ detail.label }}</label>
|
||||
<input readonly value="{{ detail.value }}">
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
{% block afterdetails %}
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
<a href="{% url 'a2-manager-user-detail' pk=user.pk %}">{{ user }}</a>
|
||||
{% if user.email %}- {{ user.email }}{% endif %}
|
||||
{% for attribute in user.attribute_values.all %}
|
||||
{% if attribute.content and attribute.attribute.name != "first_name" and attribute.attribute.name != "last_name" %}
|
||||
- {{ attribute.content }}
|
||||
{% endif %}
|
||||
{% if attribute.content and attribute.attribute.name != "first_name" and attribute.attribute.name != "last_name" %}
|
||||
- {{ attribute.content }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
- {% blocktrans with date=user.date_joined %}Created on {{ date }}{% endblocktrans %}
|
||||
{% if user.last_login %}
|
||||
- {% blocktrans with date=user.last_login %}Last login on {{ date }}{% endblocktrans %}
|
||||
- {% blocktrans with date=user.last_login %}Last login on {{ date }}{% endblocktrans %}
|
||||
{% else %}
|
||||
- {% trans "Never logged in" %}
|
||||
- {% trans "Never logged in" %}
|
||||
{% endif %}
|
||||
</li>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form
|
||||
<form
|
||||
{% if form.is_multipart %}enctype="multipart/form-data"{% endif %}
|
||||
{% if form.form_id %}id="{{ form.form_id }}"{% endif %}
|
||||
class="{{ form.css_class }}" method="post">
|
||||
|
@ -16,11 +16,11 @@
|
|||
{% if messages %}
|
||||
{% if request.is_ajax %}
|
||||
<ul class="messages">
|
||||
{% for message in messages %}
|
||||
{% for message in messages %}
|
||||
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
|
||||
{{ message }}
|
||||
{{ message }}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@ -31,45 +31,45 @@
|
|||
{% block afterform %}
|
||||
{% endblock %}
|
||||
{% block buttons %}
|
||||
<div class="buttons">
|
||||
<a class="cancel" href="{% if cancel_url %}{{ cancel_url }}{% else %}..{% endif %}">{% trans "Cancel" %}</a>
|
||||
<button>{% if action %}{{ action }}{% else %}{% trans "Save" %}{% endif %}</button>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<a class="cancel" href="{% if cancel_url %}{{ cancel_url }}{% else %}..{% endif %}">{% trans "Cancel" %}</a>
|
||||
<button>{% if action %}{{ action }}{% else %}{% trans "Save" %}{% endif %}</button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
<script>
|
||||
$(function () {
|
||||
if ($.fn.djangoSelect2) {
|
||||
$('.django-select2').djangoSelect2();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
{% block hidden_inputs %}
|
||||
{% endblock %}
|
||||
<script>
|
||||
$(function () {
|
||||
if ($.fn.djangoSelect2) {
|
||||
$('.django-select2').djangoSelect2();
|
||||
}
|
||||
})
|
||||
</script>
|
||||
{% block hidden_inputs %}
|
||||
{% endblock %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% if other_actions %}
|
||||
<aside id="sidebar">
|
||||
<aside id="sidebar">
|
||||
{% block other_actions %}
|
||||
{% if other_actions %}
|
||||
<div class="actions">
|
||||
<h3>{% trans "Actions" %}</h3>
|
||||
<form method="post" id="object-actions">
|
||||
{% csrf_token %}
|
||||
{% for action in other_actions %}
|
||||
<p><button name="{{ action.name }}"
|
||||
{% if action.confirm %}data-confirm="{{ action.confirm }}"{% endif %}
|
||||
{% if action.url_name %}data-url="{% url action.url_name pk=object.pk %}"{% endif %}
|
||||
{% if action.url %}data-url="{{ action.url }}"{% endif %}
|
||||
{% if action.popup %}rel="popup"{% endif %}
|
||||
<div class="actions">
|
||||
<h3>{% trans "Actions" %}</h3>
|
||||
<form method="post" id="object-actions">
|
||||
{% csrf_token %}
|
||||
{% for action in other_actions %}
|
||||
<p><button name="{{ action.name }}"
|
||||
{% if action.confirm %}data-confirm="{{ action.confirm }}"{% endif %}
|
||||
{% if action.url_name %}data-url="{% url action.url_name pk=object.pk %}"{% endif %}
|
||||
{% if action.url %}data-url="{{ action.url }}"{% endif %}
|
||||
{% if action.popup %}rel="popup"{% endif %}
|
||||
>{{ action.title }}</button></p>
|
||||
{% endfor %}
|
||||
</form>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</aside>
|
||||
</aside>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,43 +7,43 @@
|
|||
{% block appbar %}
|
||||
<h2>{% blocktrans %}Identity management{% endblocktrans %}</h2>
|
||||
{% if user.is_superuser %}
|
||||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
<ul class="extra-actions-menu">
|
||||
{% if user.is_superuser %}
|
||||
<li><a download href="{% url 'a2-manager-site-export' %}">{% trans 'Export Site' %}</a></li>
|
||||
<li><a href="{% url 'a2-manager-site-import' %}" rel="popup">{% trans 'Import Site' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</span>
|
||||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
<ul class="extra-actions-menu">
|
||||
{% if user.is_superuser %}
|
||||
<li><a download href="{% url 'a2-manager-site-export' %}">{% trans 'Export Site' %}</a></li>
|
||||
<li><a href="{% url 'a2-manager-site-import' %}" rel="popup">{% trans 'Import Site' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="a2-manager-main random-bg-{{ bg_image_random }}">
|
||||
<div class="fx-grid--t2">
|
||||
{% for entry in entries %}
|
||||
<a class="button button-paragraph" href="{{ entry.href }}">{{ entry.label }}
|
||||
<p>{{ entry.help_text }}</p></a>
|
||||
{% endfor %}
|
||||
<div class="a2-manager-main random-bg-{{ bg_image_random }}">
|
||||
<div class="fx-grid--t2">
|
||||
{% for entry in entries %}
|
||||
<a class="button button-paragraph" href="{{ entry.href }}">{{ entry.label }}
|
||||
<p>{{ entry.help_text }}</p></a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
<h3>{% blocktrans %}Configuration & technical information{% endblocktrans %}</h3>
|
||||
<div class="a2-manager-id-tools_content">
|
||||
<a id="authn" class="button button-paragraph" href="{% url 'a2-manager-authenticators' %}">{% trans 'Authentication frontends' %}</a>
|
||||
{% if user.is_superuser or can_view_journal %}
|
||||
<a id="journal" class="button button-paragraph" href="{% url 'a2-manager-journal' %}">{% trans 'Global journal' %}</a>
|
||||
{% endif %}
|
||||
{% if display_tech_info %}
|
||||
<a id="tech-info" class="button button-paragraph" href="{% url 'a2-manager-tech-info' %}">{% trans 'Directory servers' %}</a>
|
||||
{% endif %}
|
||||
<a id="api-clients" class="button button-paragraph" href="{% url 'a2-manager-api-clients' %}">{% trans 'API Clients' %}</a>
|
||||
</div>
|
||||
<aside id="sidebar">
|
||||
<h3>{% blocktrans %}Configuration & technical information{% endblocktrans %}</h3>
|
||||
<div class="a2-manager-id-tools_content">
|
||||
<a id="authn" class="button button-paragraph" href="{% url 'a2-manager-authenticators' %}">{% trans 'Authentication frontends' %}</a>
|
||||
{% if user.is_superuser or can_view_journal %}
|
||||
<a id="journal" class="button button-paragraph" href="{% url 'a2-manager-journal' %}">{% trans 'Global journal' %}</a>
|
||||
{% endif %}
|
||||
{% if display_tech_info %}
|
||||
<a id="tech-info" class="button button-paragraph" href="{% url 'a2-manager-tech-info' %}">{% trans 'Directory servers' %}</a>
|
||||
{% endif %}
|
||||
<a id="api-clients" class="button button-paragraph" href="{% url 'a2-manager-api-clients' %}">{% trans 'API Clients' %}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</aside>
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,17 +4,17 @@
|
|||
{% block page-title %}{{ title }}{% endblock %}
|
||||
|
||||
{% block appbar %}
|
||||
<h2>{{ title }}</h2>
|
||||
<h2>{{ title }}</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button>{% trans "Import" %}</button>
|
||||
<a class="cancel" href="{% url 'a2-manager-homepage' %}">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
</form>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button>{% trans "Import" %}</button>
|
||||
<a class="cancel" href="{% url 'a2-manager-homepage' %}">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -8,32 +8,32 @@
|
|||
{% block breadcrumb-before-title %}
|
||||
{% endblock %}
|
||||
{% for caption, url in date_hierarchy.back_urls %}
|
||||
<a href="{{ url }}">{{ caption }}</a>
|
||||
<a href="{{ url }}">{{ caption }}</a>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
<h3>{% trans "Search" context "title" %}</h3>
|
||||
<div class="journal-list--search-form">
|
||||
<form action="{{ form.url }}">
|
||||
{{ form|with_template }}
|
||||
<button>{% trans "Search" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
{% if date_hierarchy.choice_name %}
|
||||
<h4>{{ date_hierarchy.choice_name }}</h4>
|
||||
<p>
|
||||
{% for caption, url in date_hierarchy.choice_urls %}
|
||||
<a href="{{ url }}">{{ caption }}</a>
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endif %}
|
||||
<div class="documentation">
|
||||
{% for documentation in form.search_engine_class.documentation %}
|
||||
<p>{{ documentation|safe }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<h3>{% trans "Search" context "title" %}</h3>
|
||||
<div class="journal-list--search-form">
|
||||
<form action="{{ form.url }}">
|
||||
{{ form|with_template }}
|
||||
<button>{% trans "Search" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
{% if date_hierarchy.choice_name %}
|
||||
<h4>{{ date_hierarchy.choice_name }}</h4>
|
||||
<p>
|
||||
{% for caption, url in date_hierarchy.choice_urls %}
|
||||
<a href="{{ url }}">{{ caption }}</a>
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endif %}
|
||||
<div class="documentation">
|
||||
{% for documentation in form.search_engine_class.documentation %}
|
||||
<p>{{ documentation|safe }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{% extends "authentic2/manager/base.html" %}
|
||||
|
||||
{% block main %}
|
||||
<form>
|
||||
<ul>
|
||||
{% for event_type in object_list %}
|
||||
<li>{{ event_type.name }} ({{ event_type.definition.label }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</form>
|
||||
<form>
|
||||
<ul>
|
||||
{% for event_type in object_list %}
|
||||
<li>{{ event_type.name }} ({{ event_type.definition.label }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
{% load i18n %}
|
||||
<div class="section manager-ldap">
|
||||
<h3>{% trans "LDAP information, realm:" %} {{ ldap.realm }}</h3>
|
||||
<div class="a2-manager-ldap-{{ ldap.realm }}">
|
||||
{% if not ldap.error %}
|
||||
<h4>{% blocktrans %}Base ldapsearch command{% endblocktrans %}</h4>
|
||||
<pre class="a2-manager-ldapsearch">{% if ldap.require_cert != 'demand' %}LDAPTLS_REQCERT={{ldap.require_cert}} {% endif %}ldapsearch -v -H {{ ldap.ldap_uri }} \
|
||||
<h3>{% trans "LDAP information, realm:" %} {{ ldap.realm }}</h3>
|
||||
<div class="a2-manager-ldap-{{ ldap.realm }}">
|
||||
{% if not ldap.error %}
|
||||
<h4>{% blocktrans %}Base ldapsearch command{% endblocktrans %}</h4>
|
||||
<pre class="a2-manager-ldapsearch">{% if ldap.require_cert != 'demand' %}LDAPTLS_REQCERT={{ldap.require_cert}} {% endif %}ldapsearch -v -H {{ ldap.ldap_uri }} \
|
||||
-D "{{ ldap.binddn }}" \
|
||||
-w "{{ ldap.bindpw }}" \
|
||||
-b "{{ ldap.basedn }}"{% if ldap.user_filter or ldap.sync_ldap_users_filter %}
|
||||
"{% firstof ldap.sync_ldap_users_filter ldap.user_filter %}"{% endif %}</pre>
|
||||
{% else %}
|
||||
<div class="error">
|
||||
<p>{% blocktrans %}Error while attempting to connect to LDAP server, base ldapsearch command won't be displayed.{% endblocktrans %}</p>
|
||||
{% if ldap.errmsg %}
|
||||
<p>{% blocktrans with errmsg=ldap.errmsg %}Server error: {{ errmsg }}{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<h4>{% trans "Configuration" %}</h4>
|
||||
<pre>{{ ldap.block }}</pre>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="error">
|
||||
<p>{% blocktrans %}Error while attempting to connect to LDAP server, base ldapsearch command won't be displayed.{% endblocktrans %}</p>
|
||||
{% if ldap.errmsg %}
|
||||
<p>{% blocktrans with errmsg=ldap.errmsg %}Server error: {{ errmsg }}{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<h4>{% trans "Configuration" %}</h4>
|
||||
<pre>{{ ldap.block }}</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
<li>{{ role_count }} roles,</li>
|
||||
<li>{{ service_count }} services.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<p>
|
||||
They will all be deleted. Are you sure you want to delete organizational unit "{{ object }}"?
|
||||
</p>
|
||||
<p>
|
||||
<p>
|
||||
They will all be deleted. Are you sure you want to delete organizational unit "{{ object }}"?
|
||||
</p>
|
||||
{% endblocktrans %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -17,16 +17,16 @@
|
|||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
<span class="actions">
|
||||
{% if view.can_delete %}
|
||||
<a rel="popup" href="{% url "a2-manager-ou-delete" pk=object.pk %}">{% trans "Delete" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "You do not have the rights to delete this organizational unit." %}" href="#">{% trans "Delete" %}</a>
|
||||
{% endif %}
|
||||
{% if view.can_delete %}
|
||||
<a rel="popup" href="{% url "a2-manager-ou-delete" pk=object.pk %}">{% trans "Delete" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "You do not have the rights to delete this organizational unit." %}" href="#">{% trans "Delete" %}</a>
|
||||
{% endif %}
|
||||
|
||||
{% if view.can_change %}
|
||||
<a href="{% url "a2-manager-ou-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "You do not have the rights to edit this organizational unit." %}" href="#">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
{% if view.can_change %}
|
||||
<a href="{% url "a2-manager-ou-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "You do not have the rights to edit this organizational unit." %}" href="#">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
|
|
@ -10,28 +10,28 @@
|
|||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
{% if view.can_add %}
|
||||
<a href="{% url "a2-manager-ou-add" %}" rel="popup">{% trans "Add organizational unit" %}</a>
|
||||
{% endif %}
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a download href="{% url 'a2-manager-ou-export' format="json" %}?{{ request.GET.urlencode }}">{% trans 'Export' %}</a></li>
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
{% if view.can_add %}
|
||||
<li><a href="{% url 'a2-manager-ous-import' %}" rel="popup">{% trans 'Import' %}</a></li>
|
||||
<a href="{% url "a2-manager-ou-add" %}" rel="popup">{% trans "Add organizational unit" %}</a>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a download href="{% url 'a2-manager-ou-export' format="json" %}?{{ request.GET.urlencode }}">{% trans 'Export' %}</a></li>
|
||||
{% if view.can_add %}
|
||||
<li><a href="{% url 'a2-manager-ous-import' %}" rel="popup">{% trans 'Import' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</span>
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
{% include "authentic2/manager/search_form.html" %}
|
||||
{% include "authentic2/manager/search_form.html" %}
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button>{% trans "Save" %}</button>
|
||||
<a class="cancel" href="..">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
</form>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button>{% trans "Save" %}</button>
|
||||
<a class="cancel" href="..">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,43 +7,43 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
<p>{{ object.description }}</p>
|
||||
{% include "authentic2/manager/search_form.html" %}
|
||||
<div id="details">
|
||||
<dl>
|
||||
<dt>{% trans "UUID" %}</dt>
|
||||
<dd>{{ object.uuid }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</aside>
|
||||
<aside id="sidebar">
|
||||
<p>{{ object.description }}</p>
|
||||
{% include "authentic2/manager/search_form.html" %}
|
||||
<div id="details">
|
||||
<dl>
|
||||
<dt>{% trans "UUID" %}</dt>
|
||||
<dd>{{ object.uuid }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
||||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
{% if view.can_change and not object.is_internal %}
|
||||
<a href="{% url "a2-manager-role-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
{% if not view.can_change %}
|
||||
<a class="disabled" title="{% trans "Permission denied" %}" href="#">{% trans "Edit" %}</a>
|
||||
{% if view.can_change and not object.is_internal %}
|
||||
<a href="{% url "a2-manager-role-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "This role is technical, you cannot edit it." %}" href="#">{% trans "Edit" %}</a>
|
||||
{% if not view.can_change %}
|
||||
<a class="disabled" title="{% trans "Permission denied" %}" href="#">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "This role is technical, you cannot edit it." %}" href="#">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<ul class="extra-actions-menu">
|
||||
{% if not object.is_internal and view.can_delete %}
|
||||
<li><a rel="popup" href="{% url "a2-manager-role-delete" pk=object.pk %}">{% trans "Delete" %}</a></li>
|
||||
<li><a rel="popup" href="{% url "a2-manager-role-delete" pk=object.pk %}">{% trans "Delete" %}</a></li>
|
||||
{% else %}
|
||||
<li><a class="disabled" title="{% trans "This role is technical, you cannot delete it." %}" href="#">{% trans "Delete" %}</a></li>
|
||||
<li><a class="disabled" title="{% trans "This role is technical, you cannot delete it." %}" href="#">{% trans "Delete" %}</a></li>
|
||||
{% endif %}
|
||||
{% if perms.a2_rbac.admin_permission %}
|
||||
<li><a href="{% url "a2-manager-role-permissions" pk=object.pk %}">{% trans "Permissions" %}</a></li>
|
||||
<li><a href="{% url "a2-manager-role-permissions" pk=object.pk %}">{% trans "Permissions" %}</a></li>
|
||||
{% endif %}
|
||||
<li><a href="{% url "a2-manager-role-journal" pk=object.pk %}">{% trans "Journal" %}</a></li>
|
||||
{% if view.can_manage_members %}
|
||||
<li><a href="{% url "a2-manager-role-children" pk=object.pk %}">{% trans "Add a role as a member" %}</a></li>
|
||||
<li><a href="{% url "a2-manager-role-children" pk=object.pk %}">{% trans "Add a role as a member" %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</span>
|
||||
|
@ -56,89 +56,89 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% if from_ldap %}
|
||||
<div class="infonotice">
|
||||
{% trans "This role is synchronised from LDAP, changing members is not allowed." %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/role_members_table.html" %}
|
||||
{% endwith %}
|
||||
|
||||
{% if search_form.cleaned_data.all_members %}
|
||||
{% include "authentic2/manager/export_include.html" with export_view_name="a2-manager-role-members-export" %}
|
||||
{% endif %}
|
||||
|
||||
{% if view.can_manage_members %}
|
||||
<form method="post" class="manager-m2m-add-form" id="add-member">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
<div class="section">
|
||||
<h3>{% trans "Contains permissions of roles:" %}
|
||||
{% if not object.is_internal %}
|
||||
<a href="{% url "a2-manager-role-parents" pk=object.pk %}" class="button">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a title="{% trans "This role is technical, you cannot modify its permissions." %}" class="button disabled">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
</h3>
|
||||
<div>
|
||||
{% if parents %}
|
||||
<ul class="objects-list single-links">
|
||||
{% for parent in parents|slice:":10" %}
|
||||
<li>
|
||||
<a class="role-inheritance-parent" href="{% url "a2-manager-role-members" pk=parent.pk %}">{% if parent.ou and has_multiple_ou %}{{ parent.ou }} - {% endif %}{{ parent }}</a>
|
||||
{% if not parent.direct %}
|
||||
<span class="badge">{% trans "Indirect" %}</span>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% if parents|length > 10 %}
|
||||
<li><a class="role-inheritance-view-all" href="{% url "a2-manager-role-parents" pk=object.pk %}">({% trans "view all roles" %})</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>{% trans "This role doesn't contain permissions of any other role." %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="gadjo-foldable gadjo-folded" id="other-properties">
|
||||
<legend class="gadjo-foldable-widget">{% trans "Advanced parameters" %}</legend>
|
||||
<div class="role-inheritance gadjo-folding">
|
||||
{% trans "Is administered by users" %}
|
||||
{% for user in object.get_admin_role.all_members %}
|
||||
<a href="{% url "a2-manager-user-edit" pk=user.pk %}">{{ user }}</a>
|
||||
{% if user.direct %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-remove-admin-user" pk=object.pk user_pk=user.pk %}" class="role-remove icon-minus-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Indirect child role" %}" class="disabled role-remove icon-minus-sign"></a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if view.can_change %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-add-admin-user" pk=object.pk %}" class="role-add icon-add-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Permission denied" %}" class="disabled role-add icon-add-sign"></a>
|
||||
{% if from_ldap %}
|
||||
<div class="infonotice">
|
||||
{% trans "This role is synchronised from LDAP, changing members is not allowed." %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="role-inheritance gadjo-folding">
|
||||
{% trans "Is administered by roles" %}
|
||||
{% for role in admin_roles %}
|
||||
<a href="{% url "a2-manager-role-members" pk=role.pk %}">{{ role }}</a>
|
||||
{% if role.direct %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-remove-admin-role" pk=object.pk role_pk=role.pk %}" class="role-remove icon-minus-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Indirect admin role" %}" class="disabled role-remove icon-minus-sign"></a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if view.can_change %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-add-admin-role" pk=object.pk %}" class="role-add icon-add-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Permission denied" %}" class="disabled role-add icon-add-sign"></a>
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/role_members_table.html" %}
|
||||
{% endwith %}
|
||||
|
||||
{% if search_form.cleaned_data.all_members %}
|
||||
{% include "authentic2/manager/export_include.html" with export_view_name="a2-manager-role-members-export" %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{% if view.can_manage_members %}
|
||||
<form method="post" class="manager-m2m-add-form" id="add-member">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
<div class="section">
|
||||
<h3>{% trans "Contains permissions of roles:" %}
|
||||
{% if not object.is_internal %}
|
||||
<a href="{% url "a2-manager-role-parents" pk=object.pk %}" class="button">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a title="{% trans "This role is technical, you cannot modify its permissions." %}" class="button disabled">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
</h3>
|
||||
<div>
|
||||
{% if parents %}
|
||||
<ul class="objects-list single-links">
|
||||
{% for parent in parents|slice:":10" %}
|
||||
<li>
|
||||
<a class="role-inheritance-parent" href="{% url "a2-manager-role-members" pk=parent.pk %}">{% if parent.ou and has_multiple_ou %}{{ parent.ou }} - {% endif %}{{ parent }}</a>
|
||||
{% if not parent.direct %}
|
||||
<span class="badge">{% trans "Indirect" %}</span>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% if parents|length > 10 %}
|
||||
<li><a class="role-inheritance-view-all" href="{% url "a2-manager-role-parents" pk=object.pk %}">({% trans "view all roles" %})</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>{% trans "This role doesn't contain permissions of any other role." %}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="gadjo-foldable gadjo-folded" id="other-properties">
|
||||
<legend class="gadjo-foldable-widget">{% trans "Advanced parameters" %}</legend>
|
||||
<div class="role-inheritance gadjo-folding">
|
||||
{% trans "Is administered by users" %}
|
||||
{% for user in object.get_admin_role.all_members %}
|
||||
<a href="{% url "a2-manager-user-edit" pk=user.pk %}">{{ user }}</a>
|
||||
{% if user.direct %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-remove-admin-user" pk=object.pk user_pk=user.pk %}" class="role-remove icon-minus-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Indirect child role" %}" class="disabled role-remove icon-minus-sign"></a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if view.can_change %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-add-admin-user" pk=object.pk %}" class="role-add icon-add-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Permission denied" %}" class="disabled role-add icon-add-sign"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="role-inheritance gadjo-folding">
|
||||
{% trans "Is administered by roles" %}
|
||||
{% for role in admin_roles %}
|
||||
<a href="{% url "a2-manager-role-members" pk=role.pk %}">{{ role }}</a>
|
||||
{% if role.direct %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-remove-admin-role" pk=object.pk role_pk=role.pk %}" class="role-remove icon-minus-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Indirect admin role" %}" class="disabled role-remove icon-minus-sign"></a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if view.can_change %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-add-admin-role" pk=object.pk %}" class="role-add icon-add-sign"></a>
|
||||
{% else %}
|
||||
<a title="{% trans "Permission denied" %}" class="disabled role-add icon-add-sign"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</fieldset>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
{% load i18n %}
|
||||
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">{% if table.context.view.can_manage_members and row.record.direct %}<a class="js-remove-object" data-confirm="{% blocktrans with record=row.record role=table.context.object %}Do you really want to remove "{{ record }}" from role "{{ role }}"?{% endblocktrans %}" href="#" data-pk-arg="user_or_role"><span class="icon-remove-sign"></span></a>{% endif %}</td>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -12,25 +12,25 @@
|
|||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
<span class="actions">
|
||||
{% if view.can_delete %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-delete" pk=object.pk %}">{% trans "Delete" %}</a>
|
||||
{% endif %}
|
||||
{% if view.can_change and not object.is_internal %}
|
||||
<a href="{% url "a2-manager-role-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
<a href="{% url "a2-manager-role-members" pk=object.pk %}">{% trans "Members" %}</a>
|
||||
{% if view.can_delete %}
|
||||
<a rel="popup" href="{% url "a2-manager-role-delete" pk=object.pk %}">{% trans "Delete" %}</a>
|
||||
{% endif %}
|
||||
{% if view.can_change and not object.is_internal %}
|
||||
<a href="{% url "a2-manager-role-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
<a href="{% url "a2-manager-role-members" pk=object.pk %}">{% trans "Members" %}</a>
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="role-info">
|
||||
{% render_table table "authentic2/manager/role_permissions_table.html" %}
|
||||
</div>
|
||||
{% if perms.a2_rbac.change_role %}
|
||||
<form method="post" id="add-role-permission">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
<div class="role-info">
|
||||
{% render_table table "authentic2/manager/role_permissions_table.html" %}
|
||||
</div>
|
||||
{% if perms.a2_rbac.change_role %}
|
||||
<form method="post" id="add-role-permission">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
{% load i18n %}
|
||||
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">{% if table.context.view.can_change %}<a class="js-remove-object" href="#" data-pk-arg="permission"><span class="icon-remove-sign"></span></a>{% endif %}</td>
|
||||
{% endblock %}
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">{% if table.context.view.can_change %}<a class="js-remove-object" href="#" data-pk-arg="permission"><span class="icon-remove-sign"></span></a>{% endif %}</td>
|
||||
{% endblock %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
{% csrf_token %}
|
||||
<div class="form-inner-container">
|
||||
{% block caption %}
|
||||
<p>{% blocktrans %}Do you want to remove admin role {{ child }}?{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}Do you want to remove admin role {{ child }}?{% endblocktrans %}</p>
|
||||
{% endblock %}
|
||||
<div class="buttons">
|
||||
<button>{% trans "Remove" context "withdraw" %}</button>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
{% csrf_token %}
|
||||
<div class="form-inner-container">
|
||||
{% block caption %}
|
||||
<p>{% blocktrans %}Do you want to remove admin user {{ user }}?{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}Do you want to remove admin user {{ user }}?{% endblocktrans %}</p>
|
||||
{% endblock %}
|
||||
<div class="buttons">
|
||||
<button>{% trans "Remove" context "withdraw" %}</button>
|
||||
|
|
|
@ -8,20 +8,20 @@
|
|||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
{% if view.can_add %}
|
||||
<a href="{% url 'a2-manager-role-add' %}?{{ request.GET.urlencode }}" rel="popup">{% trans "Add role" %}</a>
|
||||
{% else %}
|
||||
<a href="#" class="disabled" rel="popup">{% trans "Add role" %}</a>
|
||||
{% endif %}
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a href="{% url "a2-manager-roles-journal" %}{% if multiple_ou and ou %}?search-ou={{ ou.id }}{% endif %}">{% trans "Journal" %}</a></li>
|
||||
<li><a download href="{% url 'a2-manager-roles-export' format="json" %}?{{ request.GET.urlencode }}">{% trans 'Export' %}</a></li>
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
{% if view.can_add %}
|
||||
<li><a href="{% url 'a2-manager-roles-import' %}?{{ request.GET.urlencode }}" rel="popup">{% trans 'Import' %}</a></li>
|
||||
<li><a href="{% url 'a2-manager-roles-csv-import' %}?{{ request.GET.urlencode }}" rel="popup">{% trans 'CSV import' %}</a></li>
|
||||
<a href="{% url 'a2-manager-role-add' %}?{{ request.GET.urlencode }}" rel="popup">{% trans "Add role" %}</a>
|
||||
{% else %}
|
||||
<a href="#" class="disabled" rel="popup">{% trans "Add role" %}</a>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<ul class="extra-actions-menu">
|
||||
<li><a href="{% url "a2-manager-roles-journal" %}{% if multiple_ou and ou %}?search-ou={{ ou.id }}{% endif %}">{% trans "Journal" %}</a></li>
|
||||
<li><a download href="{% url 'a2-manager-roles-export' format="json" %}?{{ request.GET.urlencode }}">{% trans 'Export' %}</a></li>
|
||||
{% if view.can_add %}
|
||||
<li><a href="{% url 'a2-manager-roles-import' %}?{{ request.GET.urlencode }}" rel="popup">{% trans 'Import' %}</a></li>
|
||||
<li><a href="{% url 'a2-manager-roles-csv-import' %}?{{ request.GET.urlencode }}" rel="popup">{% trans 'CSV import' %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
{% load i18n gadjo %}
|
||||
|
||||
{% block content %}
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<p>
|
||||
<a href="{% url 'a2-manager-roles-csv-import-sample' %}">{% trans 'Download sample file' %}</a>
|
||||
</p>
|
||||
<div class="buttons">
|
||||
<button>{% trans "Import" %}</button>
|
||||
<a class="cancel" href="{% url 'a2-manager-homepage' %}">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
</form>
|
||||
<form method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<p>
|
||||
<a href="{% url 'a2-manager-roles-csv-import-sample' %}">{% trans 'Download sample file' %}</a>
|
||||
</p>
|
||||
<div class="buttons">
|
||||
<button>{% trans "Import" %}</button>
|
||||
<a class="cancel" href="{% url 'a2-manager-homepage' %}">{% trans 'Cancel' %}</a>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% with row_link=0 %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
{% with row_link=0 %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% load gadjo i18n %}
|
||||
<h3>{% trans "Search" context "title" %}</h3>
|
||||
<form id="search-form" method="get">
|
||||
{{ search_form|with_template }}
|
||||
<button>{% trans "Search" %}</button>
|
||||
</form>
|
||||
<h3>{% trans "Search" context "title" %}</h3>
|
||||
<form id="search-form" method="get">
|
||||
{{ search_form|with_template }}
|
||||
<button>{% trans "Search" %}</button>
|
||||
</form>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block page-title %}{% firstof manager_site_title site_title "Authentic2" %} - {{ object }}{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'a2-manager-services' %}">{% trans 'Services' %}</a>
|
||||
<a href="{% url 'a2-manager-service' service_pk=view.kwargs.service_pk %}">{{ view.service.name }}</a>
|
||||
{% endblock %}
|
||||
|
@ -15,52 +15,52 @@
|
|||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
<span class="actions">
|
||||
{% if view.can_delete %}
|
||||
<a rel="popup" href="{% url "a2-manager-service-delete" service_pk=view.kwargs.service_pk %}">{% trans "Delete" %}</a>
|
||||
{% endif %}
|
||||
<a href="{% url "a2-manager-service-settings" service_pk=view.kwargs.service_pk %}">{% trans "Settings" %}</a>
|
||||
{% if view.can_delete %}
|
||||
<a rel="popup" href="{% url "a2-manager-service-delete" service_pk=view.kwargs.service_pk %}">{% trans "Delete" %}</a>
|
||||
{% endif %}
|
||||
<a href="{% url "a2-manager-service-settings" service_pk=view.kwargs.service_pk %}">{% trans "Settings" %}</a>
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
{% include "authentic2/manager/search_form.html" %}
|
||||
<div id="details">
|
||||
<dl>
|
||||
{% if multiple_ou and object.ou %}
|
||||
<dt>{% trans "Organizational unit" %}</dt>
|
||||
<dd>{{ object.ou }}</dd>
|
||||
{% endif %}
|
||||
<dt>{% trans "Slug" %}</dt>
|
||||
<dd>{{ object.slug }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{% include "authentic2/manager/search_form.html" %}
|
||||
<div id="details">
|
||||
<dl>
|
||||
{% if multiple_ou and object.ou %}
|
||||
<dt>{% trans "Organizational unit" %}</dt>
|
||||
<dd>{{ object.ou }}</dd>
|
||||
{% endif %}
|
||||
<dt>{% trans "Slug" %}</dt>
|
||||
<dd>{{ object.slug }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
|
||||
<div class="section">
|
||||
<h3>{% trans "Roles of users allowed on this service" %}</h3>
|
||||
<div id="authorized-roles">
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/service_roles_table.html" %}
|
||||
{% endwith %}
|
||||
<form method="post" class="manager-m2m-add-form">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>{% trans "Roles solely visible from this service" %}</h3>
|
||||
<div id="restricted-roles">
|
||||
{% with row_link=1 table=roles_table %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
<div class="section">
|
||||
<h3>{% trans "Roles of users allowed on this service" %}</h3>
|
||||
<div id="authorized-roles">
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/service_roles_table.html" %}
|
||||
{% endwith %}
|
||||
<form method="post" class="manager-m2m-add-form">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
<div class="section">
|
||||
<h3>{% trans "Roles solely visible from this service" %}</h3>
|
||||
<div id="restricted-roles">
|
||||
{% with row_link=1 table=roles_table %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
{% load i18n %}
|
||||
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">{% if table.context.view.can_change %}<a class="js-remove-object" data-confirm="{% blocktrans with name=row.record.name slug=table.context.object %}Do you really want to remove role "{{ name }}" from service "{{ slug }}"?{% endblocktrans %}" href="#" data-pk-arg="role"><span class="icon-remove-sign"></span></a>{% endif %}</td>
|
||||
{% endblock %}
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">{% if table.context.view.can_change %}<a class="js-remove-object" data-confirm="{% blocktrans with name=row.record.name slug=table.context.object %}Do you really want to remove role "{{ name }}" from service "{{ slug }}"?{% endblocktrans %}" href="#" data-pk-arg="role"><span class="icon-remove-sign"></span></a>{% endif %}</td>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'a2-manager-service' service_pk=view.kwargs.service_pk %}">{{ object.name }}</a>
|
||||
{% endblock %}
|
||||
|
||||
|
@ -12,29 +12,29 @@
|
|||
{% block appbar %}
|
||||
<h2>{% trans "Settings" %}</h2>
|
||||
<span class="actions">
|
||||
{% if view.can_change %}
|
||||
<a href="{% url "a2-manager-service-settings-edit" service_pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
{% if view.can_change %}
|
||||
<a href="{% url "a2-manager-service-settings-edit" service_pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block main %}
|
||||
<div class="section">
|
||||
{% for field, value in object_fields_values %}
|
||||
<div class="service-field">
|
||||
<div class="service-field--name">{{ field|capfirst }}{% trans ":" %}</div>
|
||||
<div class="service-field--value">{% if value == True %}{% trans "yes" %}
|
||||
{% elif value == False %}{% trans "no" %}
|
||||
{% else %}{{ value|linebreaksbr }}
|
||||
{% endif %}</div>
|
||||
<div class="section">
|
||||
{% for field, value in object_fields_values %}
|
||||
<div class="service-field">
|
||||
<div class="service-field--name">{{ field|capfirst }}{% trans ":" %}</div>
|
||||
<div class="service-field--value">{% if value == True %}{% trans "yes" %}
|
||||
{% elif value == False %}{% trans "no" %}
|
||||
{% else %}{{ value|linebreaksbr }}
|
||||
{% endif %}</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% if extra_details_template %}
|
||||
{% include extra_details_template %}
|
||||
{% endif %}
|
||||
{% if extra_details_template %}
|
||||
{% include extra_details_template %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
{{ block.super }}
|
||||
<span class="actions">
|
||||
{% if view.can_add %}
|
||||
<a href="{% url "a2-manager-add-oidc-service" %}">{% trans "Add OIDC service" %}</a>
|
||||
<a href="{% url "a2-manager-add-oidc-service" %}">{% trans "Add OIDC service" %}</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,29 +3,29 @@
|
|||
{% load django_tables2 %}
|
||||
|
||||
{% block table.thead %}
|
||||
<thead>
|
||||
<thead>
|
||||
<tr>
|
||||
{% for column in table.columns %}
|
||||
{% for column in table.columns %}
|
||||
{% if column.orderable %}
|
||||
<th {{ column.attrs.th.as_html }}><a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}">{{ column.header }}</a></th>
|
||||
<th {{ column.attrs.th.as_html }}><a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}">{{ column.header }}</a></th>
|
||||
{% else %}
|
||||
<th {{ column.attrs.th.as_html }}>{{ column.header }}</th>
|
||||
<th {{ column.attrs.th.as_html }}>{{ column.header }}</th>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% block table.head.last.column %}
|
||||
{% endblock %}
|
||||
{% endfor %}
|
||||
{% block table.head.last.column %}
|
||||
{% endblock %}
|
||||
</tr>
|
||||
</thead>
|
||||
</thead>
|
||||
{% endblock table.thead %}
|
||||
|
||||
{% block table.tbody.row %}
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
{% block table.tbody.last.column %}
|
||||
{% endblock %}
|
||||
</tr>
|
||||
<tr {{ row.attrs.as_html }}>
|
||||
{% for column, cell in row.items %}
|
||||
<td {{ column.attrs.td.as_html }}>{% if column.localize == None %}{{ cell }}{% else %}{% if column.localize %}{{ cell|localize }}{% else %}{{ cell|unlocalize }}{% endif %}{% endif %}</td>
|
||||
{% endfor %}
|
||||
{% block table.tbody.last.column %}
|
||||
{% endblock %}
|
||||
</tr>
|
||||
{% endblock table.tbody.row %}
|
||||
|
||||
{% block pagination %}
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
|
||||
{% block content %}
|
||||
{% if ldap_list %}
|
||||
<div id="a2-manager-tech-info-ldap-list">
|
||||
{% for ldap in ldap_list %}
|
||||
{% include "authentic2/manager/ldap_details.html" with ldap=ldap %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id="a2-manager-tech-info-ldap-list">
|
||||
{% for ldap in ldap_list %}
|
||||
{% include "authentic2/manager/ldap_details.html" with ldap=ldap %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,17 +6,17 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block beforeform %}
|
||||
{% if duplicate_users %}
|
||||
<input type="hidden" name="confirm-creation-token" value="{{ form.cleaned_data.first_name }} {{ form.cleaned_data.last_name }}">
|
||||
<div class=warningnotice>
|
||||
<p>{% trans "This user may already exist, please check the list below before creating it :" %}</p>
|
||||
<ul class="user-duplicates">
|
||||
{% for user in duplicate_users %}
|
||||
{% include "authentic2/manager/duplicate_user_add.html" with user=user %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if duplicate_users %}
|
||||
<input type="hidden" name="confirm-creation-token" value="{{ form.cleaned_data.first_name }} {{ form.cleaned_data.last_name }}">
|
||||
<div class=warningnotice>
|
||||
<p>{% trans "This user may already exist, please check the list below before creating it :" %}</p>
|
||||
<ul class="user-duplicates">
|
||||
{% for user in duplicate_users %}
|
||||
{% include "authentic2/manager/duplicate_user_add.html" with user=user %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block hidden_inputs %}
|
||||
|
|
|
@ -4,26 +4,26 @@
|
|||
{% block page-title %}{{ block.super }} - {% trans "Users" %}{% endblock %}
|
||||
|
||||
{% block appbar %}
|
||||
{{ block.super }}
|
||||
{{ block.super }}
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
{{ block.super }}
|
||||
<a href="{% url 'a2-manager-users' %}">{% trans 'Users' %}</a>
|
||||
{% if multiple_ou and object.ou %}
|
||||
<a href="../?search-ou={{ object.ou.pk }}">{{ object.ou }}</a>
|
||||
<a href="../?search-ou={{ object.ou.pk }}">{{ object.ou }}</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'a2-manager-user-detail' pk=object.pk %}">{{ object }}</a>
|
||||
<a href="#">{% trans "Consent Management" context "manager" %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
</aside>
|
||||
<aside id="sidebar">
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% with row_link=0 %}
|
||||
{% render_table table "authentic2/manager/user_authorizations_table.html" %}
|
||||
{% endwith %}
|
||||
{% with row_link=0 %}
|
||||
{% render_table table "authentic2/manager/user_authorizations_table.html" %}
|
||||
{% endwith %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,16 +3,16 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">
|
||||
<a class="{% if not table.context.view.can_manage_authorizations %} disabled {% else %} js-remove-object {% endif %}"
|
||||
data-confirm="{% blocktrans with client=row.record.client user=table.context.object %}Do you really want to remove "{{ client }}" service granted access to "{{ user }}" profile data?{% endblocktrans %}"
|
||||
href="#" data-pk-arg="authorization">
|
||||
<span class="icon-remove-sign"></span>
|
||||
</a>
|
||||
</td>
|
||||
<td class="remove-icon-column">
|
||||
<a class="{% if not table.context.view.can_manage_authorizations %} disabled {% else %} js-remove-object {% endif %}"
|
||||
data-confirm="{% blocktrans with client=row.record.client user=table.context.object %}Do you really want to remove "{{ client }}" service granted access to "{{ user }}" profile data?{% endblocktrans %}"
|
||||
href="#" data-pk-arg="authorization">
|
||||
<span class="icon-remove-sign"></span>
|
||||
</a>
|
||||
</td>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
{% block beforeform %}
|
||||
<p>
|
||||
{% blocktrans %}User's email will not be changed immediately. First an email will be sent to this
|
||||
{% blocktrans %}User's email will not be changed immediately. First an email will be sent to this
|
||||
new email address containing a link on which the user's will have to click to verify that it owns
|
||||
the email address, then it will be changed.{% endblocktrans %}
|
||||
</p>
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
{{ block.super }}
|
||||
<a href="{% url 'a2-manager-users' %}">{% trans 'Users' %}</a>
|
||||
{% if multiple_ou and object.ou %}
|
||||
<a href="../?search-ou={{ object.ou.pk }}">{{ object.ou }}</a>
|
||||
<a href="../?search-ou={{ object.ou.pk }}">{{ object.ou }}</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'a2-manager-user-detail' pk=object.pk %}">{{ object }}</a>
|
||||
<a href="#">{% trans "Roles" %}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
{% trans "Edit User Roles" %}
|
||||
{% trans "Edit User Roles" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
|
|
|
@ -5,26 +5,26 @@
|
|||
|
||||
{% block appbar %}
|
||||
<h2>{{ object }}
|
||||
{% if not object.is_active %}
|
||||
<span class="disabled-badge">{% trans "disabled" %}</span>
|
||||
{% endif %}
|
||||
{% if not object.is_active %}
|
||||
<span class="disabled-badge">{% trans "disabled" %}</span>
|
||||
{% endif %}
|
||||
</h2>
|
||||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
<a href="{% url "a2-manager-user-journal" pk=object.pk %}">{% trans "Journal" %}</a>
|
||||
{% if view.can_change %}
|
||||
<a href="{% url "a2-manager-user-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "You do not have the rights to edit this user." %}" href="#">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
{% if view.can_change %}
|
||||
<a href="{% url "a2-manager-user-edit" pk=object.pk %}">{% trans "Edit" %}</a>
|
||||
{% else %}
|
||||
<a class="disabled" title="{% trans "You do not have the rights to edit this user." %}" href="#">{% trans "Edit" %}</a>
|
||||
{% endif %}
|
||||
<ul class="extra-actions-menu">
|
||||
{% if view.can_delete %}
|
||||
<li><a rel="popup" href="{% url "a2-manager-user-delete" pk=object.pk %}">{% trans "Delete" %}</a></li>
|
||||
<li><a rel="popup" href="{% url "a2-manager-user-delete" pk=object.pk %}">{% trans "Delete" %}</a></li>
|
||||
{% else %}
|
||||
<li><a class="disabled" title="{% trans "You do not have the rights to delete this user." %}" href="#">{% trans "Delete" %}</a></li>
|
||||
<li><a class="disabled" title="{% trans "You do not have the rights to delete this user." %}" href="#">{% trans "Delete" %}</a></li>
|
||||
{% endif %}
|
||||
{% if view.is_oidc_services %}
|
||||
<li><a href="{% url "a2-manager-user-authorizations" pk=object.pk %}">{% trans "Consents" %}</a></li>
|
||||
<li><a href="{% url "a2-manager-user-authorizations" pk=object.pk %}">{% trans "Consents" %}</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</span>
|
||||
|
@ -51,74 +51,74 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
<aside id="sidebar">
|
||||
<aside id="sidebar">
|
||||
|
||||
<p class="a2-manager-user-last-login">
|
||||
{% if object.last_login %}
|
||||
{% blocktrans with date=object.last_login %}Last login on {{ date }}.{% endblocktrans %}
|
||||
{% else %}
|
||||
{% trans "Never logged in." %}
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
<p class="a2-manager-user-date-joined">
|
||||
{% blocktrans with date=object.date_joined %}Created on {{ date }}{% endblocktrans %}
|
||||
</p>
|
||||
|
||||
{% if object.date_joined != object.modified %}
|
||||
<p class="a2-manager-user-modified">
|
||||
{% blocktrans with date=object.modified %}Modified on {{ date }}{% endblocktrans %}
|
||||
<p class="a2-manager-user-last-login">
|
||||
{% if object.last_login %}
|
||||
{% blocktrans with date=object.last_login %}Last login on {{ date }}.{% endblocktrans %}
|
||||
{% else %}
|
||||
{% trans "Never logged in." %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if not object.is_active and object.deactivation %}
|
||||
<p class="a2-manager-user-date-deactivated">
|
||||
{% blocktrans trimmed with date=object.deactivation reason=object.verbose_deactivation_reason %}
|
||||
Deactivated on {{ date }} ({{ reason }}).
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
<p class="a2-manager-user-date-joined">
|
||||
{% blocktrans with date=object.date_joined %}Created on {{ date }}{% endblocktrans %}
|
||||
</p>
|
||||
|
||||
{% for data in user_data %}
|
||||
{{ data }}
|
||||
{% endfor %}
|
||||
|
||||
{% block other_actions %}{{ block.super }}{% endblock %}
|
||||
|
||||
{% if roles_by_ou or can_change_roles %}
|
||||
<div class="user-roles">
|
||||
<h3>{% trans "Roles" %}</h3>
|
||||
<ul>
|
||||
{% for ou, ou_roles in roles_by_ou.items %}
|
||||
{% if have_roles_on_multiple_ou %}
|
||||
<li>{% if ou %}{{ ou }}{% else %}{% trans "All organizational units" %}{% endif %}
|
||||
<ul>
|
||||
{% endif %}
|
||||
{% for role in ou_roles %}
|
||||
<li {% if role.description %}title="{{ role.description }}"{% endif %}>
|
||||
{% if role.user_visible %}<a href="{% url "a2-manager-role-members" pk=role.pk %}">{{ role }}</a>{% else %}{{ role }}{% endif %}</li>
|
||||
{% endfor %}
|
||||
{% if have_roles_on_multiple_ou %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% if can_change_roles %}
|
||||
<button onclick="window.location.href = '{% url "a2-manager-user-roles" pk=object.pk %}?search-ou={% firstof object.ou.pk default_ou.pk %}'; return false">{% trans "Modify roles" %}</button>
|
||||
{% if object.date_joined != object.modified %}
|
||||
<p class="a2-manager-user-modified">
|
||||
{% blocktrans with date=object.modified %}Modified on {{ date }}{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if perms.custom_user.admin_user %}
|
||||
<div id="details">
|
||||
<dl>
|
||||
<dt>{% trans "UUID" %}</dt>
|
||||
<dd>{{ object.uuid }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if not object.is_active and object.deactivation %}
|
||||
<p class="a2-manager-user-date-deactivated">
|
||||
{% blocktrans trimmed with date=object.deactivation reason=object.verbose_deactivation_reason %}
|
||||
Deactivated on {{ date }} ({{ reason }}).
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
</aside>
|
||||
{% for data in user_data %}
|
||||
{{ data }}
|
||||
{% endfor %}
|
||||
|
||||
{% block other_actions %}{{ block.super }}{% endblock %}
|
||||
|
||||
{% if roles_by_ou or can_change_roles %}
|
||||
<div class="user-roles">
|
||||
<h3>{% trans "Roles" %}</h3>
|
||||
<ul>
|
||||
{% for ou, ou_roles in roles_by_ou.items %}
|
||||
{% if have_roles_on_multiple_ou %}
|
||||
<li>{% if ou %}{{ ou }}{% else %}{% trans "All organizational units" %}{% endif %}
|
||||
<ul>
|
||||
{% endif %}
|
||||
{% for role in ou_roles %}
|
||||
<li {% if role.description %}title="{{ role.description }}"{% endif %}>
|
||||
{% if role.user_visible %}<a href="{% url "a2-manager-role-members" pk=role.pk %}">{{ role }}</a>{% else %}{{ role }}{% endif %}</li>
|
||||
{% endfor %}
|
||||
{% if have_roles_on_multiple_ou %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% if can_change_roles %}
|
||||
<button onclick="window.location.href = '{% url "a2-manager-user-roles" pk=object.pk %}?search-ou={% firstof object.ou.pk default_ou.pk %}'; return false">{% trans "Modify roles" %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if perms.custom_user.admin_user %}
|
||||
<div id="details">
|
||||
<dl>
|
||||
<dt>{% trans "UUID" %}</dt>
|
||||
<dd>{{ object.uuid }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
|
|
@ -11,6 +11,6 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block hidden_inputs %}
|
||||
{{ block.super }}
|
||||
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
|
||||
{{ block.super }}
|
||||
{% if next %}<input type="hidden" name="next" value="{{ next }}">{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block page-title %}{{ block.super }} - {% trans "User export" %}{% endblock %}
|
||||
|
||||
{% block appbar %}
|
||||
<h2>Users export</h2>
|
||||
<h2>Users export</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
|
@ -14,32 +14,32 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<div class="section">
|
||||
<div class="running">
|
||||
<p>{% trans "Preparing CSV export file..." %}</p>
|
||||
<span class="activity">{% trans "Progress:" %} <span id="progress">0</span>%</span>
|
||||
<div class="section">
|
||||
<div class="running">
|
||||
<p>{% trans "Preparing CSV export file..." %}</p>
|
||||
<span class="activity">{% trans "Progress:" %} <span id="progress">0</span>%</span>
|
||||
</div>
|
||||
<div class="done">
|
||||
<p>{% trans "Export completed." %}</p>
|
||||
<p><a class="button" href="{% url 'a2-manager-users-export-file' uuid=uuid %}">{% trans "Download CSV" %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="done">
|
||||
<p>{% trans "Export completed." %}</p>
|
||||
<p><a class="button" href="{% url 'a2-manager-users-export-file' uuid=uuid %}">{% trans "Download CSV" %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function updateStatus() {
|
||||
$('div.done').hide();
|
||||
$.get('{% url 'a2-manager-users-export-progress' uuid=uuid %}', null,
|
||||
function (text) {
|
||||
if(text != 100) {
|
||||
$('span#progress').text(text);
|
||||
window.setTimeout(updateStatus, 2500);
|
||||
} else {
|
||||
$('div.running').hide();
|
||||
$('div.done').show();
|
||||
}
|
||||
<script>
|
||||
function updateStatus() {
|
||||
$('div.done').hide();
|
||||
$.get('{% url 'a2-manager-users-export-progress' uuid=uuid %}', null,
|
||||
function (text) {
|
||||
if(text != 100) {
|
||||
$('span#progress').text(text);
|
||||
window.setTimeout(updateStatus, 2500);
|
||||
} else {
|
||||
$('div.running').hide();
|
||||
$('div.done').show();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
$(document).ready(updateStatus);
|
||||
</script>
|
||||
$(document).ready(updateStatus);
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{% block page-title %}{{ block.super }} - {% trans "Import Users" %}{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static "authentic2/manager/css/user_import.css" %}">
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static "authentic2/manager/css/user_import.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}{% trans "Users Import" %} - {{ user_import.created }} - {{ user_import.user }}{% endblock %}
|
||||
|
@ -57,29 +57,29 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
{% for report in reports %}
|
||||
<tr data-uuid="{{ report.uuid }}" data-url="{% url "a2-manager-users-import-report" import_uuid=user_import.uuid report_uuid=report.uuid %}">
|
||||
{% include "authentic2/manager/user_import_report_row.html" %}
|
||||
</tr>
|
||||
<tr data-uuid="{{ report.uuid }}" data-url="{% url "a2-manager-users-import-report" import_uuid=user_import.uuid report_uuid=report.uuid %}">
|
||||
{% include "authentic2/manager/user_import_report_row.html" %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
function autorefresh(el) {
|
||||
$.ajax({
|
||||
url: $(el).data('url'),
|
||||
success: function(html) {
|
||||
$(el).html(html);
|
||||
},
|
||||
});
|
||||
}
|
||||
function autorefresh(el) {
|
||||
$.ajax({
|
||||
url: $(el).data('url'),
|
||||
success: function(html) {
|
||||
$(el).html(html);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function scheduleRefreshes() {
|
||||
$('tbody tr').each(function() {
|
||||
if($(this).children('td.state.running').length > 0)
|
||||
function scheduleRefreshes() {
|
||||
$('tbody tr').each(function() {
|
||||
if($(this).children('td.state.running').length > 0)
|
||||
setInterval(autorefresh, 2000, this);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(scheduleRefreshes);
|
||||
$(document).ready(scheduleRefreshes);
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{% block page-title %}{{ block.super }} - {% trans "Import Users" %}{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static "authentic2/manager/css/user_import.css" %}">
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static "authentic2/manager/css/user_import.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}{{ report_title }} - {{ report.created }} - {{ report.state_display }}{% endblock %}
|
||||
|
@ -60,19 +60,19 @@
|
|||
</tr>
|
||||
</table>
|
||||
{% if report.simulate %}
|
||||
<form action="{% url 'a2-manager-users-import' uuid=user_import.uuid %}" method="post" id="action-form">
|
||||
{% csrf_token %}
|
||||
<div class="buttons">
|
||||
<button name="execute">{% trans "Execute" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
<form action="{% url 'a2-manager-users-import' uuid=user_import.uuid %}" method="post" id="action-form">
|
||||
{% csrf_token %}
|
||||
<div class="buttons">
|
||||
<button name="execute">{% trans "Execute" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
</aside>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% if report.exception %}
|
||||
<p>{% trans "Exception:" %} {{ report.exception}}</p>
|
||||
<p>{% trans "Exception:" %} {{ report.exception}}</p>
|
||||
{% endif %}
|
||||
{% if report.importer %}
|
||||
{% with importer=report.importer %}
|
||||
|
@ -80,7 +80,7 @@
|
|||
<h4>{% trans "Errors" %}</h4>
|
||||
<ul class="errors">
|
||||
{% for error in importer.errors %}
|
||||
<li data-code="{{ error.code }}">{% firstof error.description error.code %}</li>
|
||||
<li data-code="{{ error.code }}">{% firstof error.description error.code %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
@ -91,7 +91,7 @@
|
|||
<li>{% blocktrans count updated=importer.updated %}{{ updated }} user updated{% plural %}{{ updated }} users updated{% endblocktrans %}</li>
|
||||
<li>{% blocktrans count error_rows=importer.rows_with_errors %}{{ error_rows }} row has error{% plural %}{{ error_rows }} rows have errors{% endblocktrans %}</li>
|
||||
{% if importer.missing_roles %}
|
||||
<li>{% trans "The following roles were missing:" %} {{ importer.missing_roles|join:", " }}</li>
|
||||
<li>{% trans "The following roles were missing:" %} {{ importer.missing_roles|join:", " }}</li>
|
||||
{% endif %}
|
||||
<li>{% blocktrans with duration=report.duration %}import took {{ duration }}{% endblocktrans %}</li>
|
||||
</ul>
|
||||
|
@ -99,23 +99,23 @@
|
|||
{% if importer.rows %}
|
||||
<table id="import-report-table" class="main">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Line" %}</th>
|
||||
{% for header in importer.headers %}
|
||||
<th
|
||||
{% if header.flags %}
|
||||
<tr>
|
||||
<th>{% trans "Line" %}</th>
|
||||
{% for header in importer.headers %}
|
||||
<th
|
||||
{% if header.flags %}
|
||||
title="flags: {% for flag in header.flags %}{{ flag }} {% endfor %}"
|
||||
{% endif %}
|
||||
>
|
||||
{{ header.name }}
|
||||
{% if header.flags %}<br>{% endif %}
|
||||
{% for flag in header.flags %}
|
||||
<span class="header-flag-{{ flag }}"></span>
|
||||
{% endfor %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
<th>{% trans "Action" %}</th>
|
||||
</tr>
|
||||
{% endif %}
|
||||
>
|
||||
{{ header.name }}
|
||||
{% if header.flags %}<br>{% endif %}
|
||||
{% for flag in header.flags %}
|
||||
<span class="header-flag-{{ flag }}"></span>
|
||||
{% endfor %}
|
||||
</th>
|
||||
{% endfor %}
|
||||
<th>{% trans "Action" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for row in importer.rows %}
|
||||
|
|
|
@ -56,218 +56,218 @@
|
|||
<div class="section user-csv-import-help">
|
||||
<h3>{% trans "Help" %}</h3>
|
||||
<div>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
The first line of your CSV file must be a header <a href="#help-attributes">mapping columns to user's attributes identifier</a>.
|
||||
Each user attribute name can be followed by <a href="#help-flags">flags</a> separated by spaces.
|
||||
You can also import an <a href="#help-external-identifier">external identifier</a> to prevent creating duplicates when doing multiple import from the same source.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4 id="help-attributes">{% trans "Attributes" %}</h4>
|
||||
<table class="main left">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Label" %}</th>
|
||||
<th>{% trans "Identifier" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for column in help_columns %}
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
The first line of your CSV file must be a header <a href="#help-attributes">mapping columns to user's attributes identifier</a>.
|
||||
Each user attribute name can be followed by <a href="#help-flags">flags</a> separated by spaces.
|
||||
You can also import an <a href="#help-external-identifier">external identifier</a> to prevent creating duplicates when doing multiple import from the same source.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4 id="help-attributes">{% trans "Attributes" %}</h4>
|
||||
<table class="main left">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ column.label }}</td>
|
||||
<td><var>{{ column.name }}</var></td>
|
||||
<th>{% trans "Label" %}</th>
|
||||
<th>{% trans "Identifier" %}</th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="help-flags">{% trans "Flags" %}</h4>
|
||||
<p>{% blocktrans trimmed %}Each column can receive flags after its name, separated by spaces. Each modifier can be prefixed by <var>no-</var> to set its value to false.{% endblocktrans %}</p>
|
||||
<table class="main left">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Flag" %}</th>
|
||||
<th>{% trans "Meaning" %}</th>
|
||||
<th>{% trans "Default value" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>key</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
The column is an import key, it is used to match the row with an existing user. Only one column can be an import key.
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for column in help_columns %}
|
||||
<tr>
|
||||
<td>{{ column.label }}</td>
|
||||
<td><var>{{ column.name }}</var></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="help-flags">{% trans "Flags" %}</h4>
|
||||
<p>{% blocktrans trimmed %}Each column can receive flags after its name, separated by spaces. Each modifier can be prefixed by <var>no-</var> to set its value to false.{% endblocktrans %}</p>
|
||||
<table class="main left">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Flag" %}</th>
|
||||
<th>{% trans "Meaning" %}</th>
|
||||
<th>{% trans "Default value" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>key</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
The column is an import key, it is used to match the row with an existing user. Only one column can be an import key.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>create</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values will be used when creating a new user.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "True" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>update</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values will be used when updating an existing user.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "True" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>unique</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values must be unique in the target organizational unit.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %} {% blocktrans trimmed %}
|
||||
(default is True for the <var>email</var> and <var>username</var> columns if they are configured to be unique in the target organizational unit)
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>create</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values will be used when creating a new user.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "True" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>update</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values will be used when updating an existing user.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "True" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>unique</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values must be unique in the target organizational unit.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %} {% blocktrans trimmed %}
|
||||
(default is True for the <var>email</var> and <var>username</var> columns if they are configured to be unique in the target organizational unit)
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>globally-unique</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values must be unique among all users.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %} {% blocktrans trimmed %}
|
||||
(default is True for the <var>email</var> and <var>username</var> columns if they are configured to be globally unique)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>globally-unique</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values must be unique among all users.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %} {% blocktrans trimmed %}
|
||||
(default is True for the <var>email</var> and <var>username</var> columns if they are configured to be globally unique)
|
||||
{% endblocktrans %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>verified</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values are verified. User's attribute will be locked.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %} {% blocktrans %}(default is True for the <var>email</var> column){% endblocktrans %}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>verified</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Values are verified. User's attribute will be locked.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %} {% blocktrans %}(default is True for the <var>email</var> column){% endblocktrans %}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h4 id="help-external-identifier">{% trans "External identifier" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
You can also use two special columns <var>_source_name</var> and
|
||||
<var>_source_id</var>. <var>_source_name</var> must be the name of the
|
||||
source directory from which the users are exported, it must not
|
||||
change between imports. <var>_source_id</var> is the unique identifier
|
||||
from the source directory from which the users are extracted, it must
|
||||
not change between imports and should never be reused for different
|
||||
users. <var>_source_id</var> is automatically the key column, and you
|
||||
cannot use another key column.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4 id="help-roles">{% trans "Role operations" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
Adding existing roles to users is supported. Use either
|
||||
<var>_role_name</var> or <var>_role_slug</var> special columns to
|
||||
specify the names or the slugs that should be added to the user. In
|
||||
order to add multiple roles, simply add a new line, identical to the
|
||||
first one, except for the value of the role cell. These columns also
|
||||
accept special flags, as listed below.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<table class="main left">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Flag" %}</th>
|
||||
<th>{% trans "Meaning" %}</th>
|
||||
<th>{% trans "Default value" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>delete</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Remove role from user instead of adding it.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clear</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Clear user roles beforehand, so that they will have no more roles
|
||||
than those specified in the import file.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="help-external-identifier">{% trans "Registration options" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
When a user is created by the import, they will have to use the "forgotten password" feature
|
||||
in order to log in for the first time. An alternative is to use the special column
|
||||
<var>@registration</var> with the value <var>send-email</var>. In this case, newly created
|
||||
users will receive an email, inviting them to set their password.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4>{% trans "Force Password Reset" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
If you want to set a default password but make the user change it after next login, you can
|
||||
add a <var>@force-password-reset</var> column in the CSV. A value of 'true' in this column will
|
||||
ask the user to change password after the next login.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4>{% trans "Examples" %}</h4>
|
||||
<p>{% blocktrans trimmed %}Importing first and last name of users keyed by email{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>"email key",first_name,last_name
|
||||
<h4 id="help-external-identifier">{% trans "External identifier" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
You can also use two special columns <var>_source_name</var> and
|
||||
<var>_source_id</var>. <var>_source_name</var> must be the name of the
|
||||
source directory from which the users are exported, it must not
|
||||
change between imports. <var>_source_id</var> is the unique identifier
|
||||
from the source directory from which the users are extracted, it must
|
||||
not change between imports and should never be reused for different
|
||||
users. <var>_source_id</var> is automatically the key column, and you
|
||||
cannot use another key column.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4 id="help-roles">{% trans "Role operations" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
Adding existing roles to users is supported. Use either
|
||||
<var>_role_name</var> or <var>_role_slug</var> special columns to
|
||||
specify the names or the slugs that should be added to the user. In
|
||||
order to add multiple roles, simply add a new line, identical to the
|
||||
first one, except for the value of the role cell. These columns also
|
||||
accept special flags, as listed below.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<table class="main left">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Flag" %}</th>
|
||||
<th>{% trans "Meaning" %}</th>
|
||||
<th>{% trans "Default value" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>delete</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Remove role from user instead of adding it.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>clear</td>
|
||||
<td>
|
||||
{% blocktrans trimmed %}
|
||||
Clear user roles beforehand, so that they will have no more roles
|
||||
than those specified in the import file.
|
||||
{% endblocktrans %}
|
||||
</td>
|
||||
<td>{% trans "False" %}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="help-external-identifier">{% trans "Registration options" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
When a user is created by the import, they will have to use the "forgotten password" feature
|
||||
in order to log in for the first time. An alternative is to use the special column
|
||||
<var>@registration</var> with the value <var>send-email</var>. In this case, newly created
|
||||
users will receive an email, inviting them to set their password.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4>{% trans "Force Password Reset" %}</h4>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
If you want to set a default password but make the user change it after next login, you can
|
||||
add a <var>@force-password-reset</var> column in the CSV. A value of 'true' in this column will
|
||||
ask the user to change password after the next login.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<h4>{% trans "Examples" %}</h4>
|
||||
<p>{% blocktrans trimmed %}Importing first and last name of users keyed by email{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>"email key",first_name,last_name
|
||||
john.doe@example.com,John,Doe
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing verified first and last name of users keyed by email{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>"email key","first_name verified","last_name verified"
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing verified first and last name of users keyed by email{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>"email key","first_name verified","last_name verified"
|
||||
john.doe@example.com,John,Doe
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, family_reference, first and last name of users from application <var>app1</var>, ensuring family_reference is unique.{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>_source_name,_source_id,email,"family_reference unique",first_name,last_name
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, family_reference, first and last name of users from application <var>app1</var>, ensuring family_reference is unique.{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>_source_name,_source_id,email,"family_reference unique",first_name,last_name
|
||||
app1,1,john.doe@example.com,1234,John,Doe
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, first and last name of users
|
||||
while adding roles.{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>email key,first_name,last_name,_role_name
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, first and last name of users
|
||||
while adding roles.{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>email key,first_name,last_name,_role_name
|
||||
john.doe@example.com,John,Doe,Role1
|
||||
john.doe@example.com,John,Doe,Role2
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, first and last name of users
|
||||
and sending a password reset email to John (only if the account is created
|
||||
by the import).{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>email key,first_name,last_name,@registration
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, first and last name of users
|
||||
and sending a password reset email to John (only if the account is created
|
||||
by the import).{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>email key,first_name,last_name,@registration
|
||||
john.doe@example.com,John,Doe,send-email
|
||||
jane.doe@example.com,Jane,Doe,
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, first and last name of users
|
||||
and setting a password using hash in standard Django format. Forcing password change for Jane after next login.{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>email key,first_name,last_name,password_hash,@force-password-reset
|
||||
</pre>
|
||||
</blockquote>
|
||||
<p>{% blocktrans trimmed %}Importing email, first and last name of users
|
||||
and setting a password using hash in standard Django format. Forcing password change for Jane after next login.{% endblocktrans %}</p>
|
||||
<blockquote>
|
||||
<pre>email key,first_name,last_name,password_hash,@force-password-reset
|
||||
john.doe@example.com,John,Doe,pbkdf2_sha256$36000$oTHdVaoMjnCp$uTkpF7Ne6KV/L5gAerS7mngXM96DOEaLsLMZ251HJ/M=,
|
||||
jane.doe@example.com,Jane,Doe,pbkdf2_sha256$36000$oTHdVaoMjnCp$uTkpF7Ne6KV/L5gAerS7mngXM96DOEaLsLMZ251HJ/M=,true
|
||||
</pre>
|
||||
</blockquote>
|
||||
</div>
|
||||
</pre>
|
||||
</blockquote>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block breadcrumb-before-title %}
|
||||
<a href="{% url 'a2-manager-users' %}">{% trans 'Users' %}</a>
|
||||
{% if multiple_ou and object.ou %}
|
||||
<a href="../?search-ou={{ object.ou.pk }}">{{ object.ou }}</a>
|
||||
<a href="../?search-ou={{ object.ou.pk }}">{{ object.ou }}</a>
|
||||
{% endif %}
|
||||
<a href="{% url 'a2-manager-user-detail' pk=object.pk %}">{{ object }}</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% with row_link=0 %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
{% with row_link=0 %}
|
||||
{% render_table table "authentic2/manager/table.html" %}
|
||||
{% endwith %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,24 +4,24 @@
|
|||
{% block extrascripts %}
|
||||
{{ block.super }}
|
||||
<script>
|
||||
$(function () {
|
||||
$('.indeterminate').each(function (i, elem) {
|
||||
elem.indeterminate = true;
|
||||
$(function () {
|
||||
$('.indeterminate').each(function (i, elem) {
|
||||
elem.indeterminate = true;
|
||||
})
|
||||
})
|
||||
})
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/user_roles_table.html" %}
|
||||
{% endwith %}
|
||||
{% with row_link=1 %}
|
||||
{% render_table table "authentic2/manager/user_roles_table.html" %}
|
||||
{% endwith %}
|
||||
|
||||
{% if view.can_change %}
|
||||
<form method="post" class="manager-m2m-add-form">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% if view.can_change %}
|
||||
<form method="post" class="manager-m2m-add-form">
|
||||
{% csrf_token %}
|
||||
{{ form }}
|
||||
<button>{% trans "Add" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
{% load i18n %}
|
||||
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
{% block table.head.last.column %}
|
||||
<th></th>
|
||||
{% endblock %}
|
||||
{% block table.tbody.last.column %}
|
||||
<td class="remove-icon-column">
|
||||
{% if table.context.view.can_change and row.record.member %}
|
||||
<a class="{% if not row.record.can_manage_members %} disabled {% else %} js-remove-object {% endif %}" data-confirm="{% blocktrans with name=row.record.name user=table.context.object %}Do you really want to remove role "{{ name }}" from user "{{ user }}"?{% endblocktrans %}" href="#" data-pk-arg="role" title="{% if not row.record.can_manage_members %}{% trans "This role is synchronised from LDAP, changing members is not allowed." %}{% endif %}"><span class="icon-remove-sign"></span></a>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<form>
|
||||
<form>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
To switch to user {{ user }}, open the following link in a private window
|
||||
(it expires after <span class="js-seconds-until" data-target="#su-link" data-replace="Expired!">{{ duration }}</span> seconds).
|
||||
To switch to user {{ user }}, open the following link in a private window
|
||||
(it expires after <span class="js-seconds-until" data-target="#su-link" data-replace="Expired!">{{ duration }}</span> seconds).
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>
|
||||
<a id='su-link' href="{{ su_url }}">{{ su_url }}</a>
|
||||
<a id='su-link' href="{{ su_url }}">{{ su_url }}</a>
|
||||
</p>
|
||||
<script>
|
||||
$(function() { window.a2_js_seconds_until(); });
|
||||
</script>
|
||||
</form>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -8,22 +8,22 @@
|
|||
<span class="actions">
|
||||
<a class="extra-actions-menu-opener"></a>
|
||||
{% if view.can_add %}
|
||||
<a
|
||||
<a
|
||||
{% if add_ou %}href="{% url "a2-manager-user-add" ou_pk=add_ou.pk %}"{% else %}
|
||||
href="{% url "a2-manager-user-add-choose-ou" %}" rel="popup"{% endif %}
|
||||
href="{% url "a2-manager-user-add-choose-ou" %}" rel="popup"{% endif %}
|
||||
id="add-user-btn">
|
||||
{% trans "Add user" %}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="#" class="disabled" id="add-user-btn">{% trans "Add user" %}</a>
|
||||
{% endif %}
|
||||
{% if extra_actions %}
|
||||
<ul class="extra-actions-menu">
|
||||
{% for extra_action in extra_actions %}
|
||||
<li><a href="{{ extra_action.url }}">{{ extra_action.label }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% trans "Add user" %}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="#" class="disabled" id="add-user-btn">{% trans "Add user" %}</a>
|
||||
{% endif %}
|
||||
{% if extra_actions %}
|
||||
<ul class="extra-actions-menu">
|
||||
{% for extra_action in extra_actions %}
|
||||
<li><a href="{{ extra_action.url }}">{{ extra_action.label }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load i18n admin_modify static admin_urls %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
{% url 'admin:jsi18n' as jsi18nurl %}
|
||||
<script type="text/javascript" src="{{ jsi18nurl|default:"../../../jsi18n/" }}"></script>
|
||||
{{ media }}
|
||||
{% url 'admin:jsi18n' as jsi18nurl %}
|
||||
<script type="text/javascript" src="{{ jsi18nurl|default:"../../../jsi18n/" }}"></script>
|
||||
{{ media }}
|
||||
{% endblock %}
|
||||
|
||||
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/" %}css/forms.css" />{% endblock %}
|
||||
|
@ -14,31 +14,31 @@
|
|||
{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %}
|
||||
|
||||
{% block breadcrumbs %}{% if not is_popup %}
|
||||
<div class="breadcrumbs">
|
||||
<a href="../../../">{% trans "Home" %}</a> ›
|
||||
<a href="../../">{{ app_label|capfirst|escape }}</a> ›
|
||||
{% if has_change_permission %}<a href="../">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} ›
|
||||
{% trans "Add from URL" %}
|
||||
</div>
|
||||
<div class="breadcrumbs">
|
||||
<a href="../../../">{% trans "Home" %}</a> ›
|
||||
<a href="../../">{{ app_label|capfirst|escape }}</a> ›
|
||||
{% if has_change_permission %}<a href="../">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} ›
|
||||
{% trans "Add from URL" %}
|
||||
</div>
|
||||
{% endif %}{% endblock %}
|
||||
|
||||
{% block content %}<div id="content-main">
|
||||
<form method="post">{% csrf_token %}
|
||||
<div>
|
||||
{% if errors %}
|
||||
<p class="errornote">
|
||||
{% blocktrans count errors|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
|
||||
</p>
|
||||
{{ adminform.form.non_field_errors }}
|
||||
{% endif %}
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
<button>{% trans "Submit" %}</button>
|
||||
<form method="post">{% csrf_token %}
|
||||
<div>
|
||||
{% if errors %}
|
||||
<p class="errornote">
|
||||
{% blocktrans count errors|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
|
||||
</p>
|
||||
{{ adminform.form.non_field_errors }}
|
||||
{% endif %}
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
<button>{% trans "Submit" %}</button>
|
||||
|
||||
|
||||
</div>
|
||||
</form></div>
|
||||
</div>
|
||||
</form></div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
|
|
@ -6,23 +6,23 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="post-redirect">
|
||||
<h2>{{ title }}</h2>
|
||||
<form action="{{url}}" method="post" name="saml">
|
||||
<p>{% trans "You should be automatically redirected." %}</p>
|
||||
<p>{% trans "If this page is still visible after a few seconds, press the Send button below." %}</p>
|
||||
<input type="hidden" name="{{ fieldname }}" value="{{ body }}" />
|
||||
{% if relay_state %}
|
||||
<input type="hidden" name="RelayState" value="{{ relay_state }}"/>
|
||||
{% endif %}
|
||||
<noscript>
|
||||
<div class="buttons-bar">
|
||||
<button name="sendButton">{% trans 'Send' %}</button>
|
||||
</div>
|
||||
</noscript>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
document.forms['saml'].submit()
|
||||
</script>
|
||||
<div class="post-redirect">
|
||||
<h2>{{ title }}</h2>
|
||||
<form action="{{url}}" method="post" name="saml">
|
||||
<p>{% trans "You should be automatically redirected." %}</p>
|
||||
<p>{% trans "If this page is still visible after a few seconds, press the Send button below." %}</p>
|
||||
<input type="hidden" name="{{ fieldname }}" value="{{ body }}" />
|
||||
{% if relay_state %}
|
||||
<input type="hidden" name="RelayState" value="{{ relay_state }}"/>
|
||||
{% endif %}
|
||||
<noscript>
|
||||
<div class="buttons-bar">
|
||||
<button name="sendButton">{% trans 'Send' %}</button>
|
||||
</div>
|
||||
</noscript>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
document.forms['saml'].submit()
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
{% block content %}
|
||||
|
||||
<h2>{% trans "Error: page not found" %}</h2>
|
||||
<h2>{% trans "Error: page not found" %}</h2>
|
||||
|
||||
<p>{% trans "The page you requested has not been found on this server." %}
|
||||
<p>{% trans "The page you requested has not been found on this server." %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{% block title %}{{ title }} | {% trans 'Authentic site admin' %}{% endblock %}
|
||||
|
||||
{% block branding %}
|
||||
<h1 id="site-name">{% trans 'Authentic administration' %}</h1>
|
||||
<h1 id="site-name">{% trans 'Authentic administration' %}</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block nav-global %}{% endblock %}
|
||||
|
|
|
@ -7,39 +7,39 @@
|
|||
|
||||
{% block content %}
|
||||
|
||||
<h2>{% trans "Logs page" %}</h2>
|
||||
<h2>{% trans "Logs page" %}</h2>
|
||||
|
||||
{% if not file %}
|
||||
<p> There is no log for the moment.</p>
|
||||
{% else %}
|
||||
{% for log in logs.object_list %}
|
||||
{% if "CRITICAL" in log %}
|
||||
{% if not file %}
|
||||
<p> There is no log for the moment.</p>
|
||||
{% else %}
|
||||
{% for log in logs.object_list %}
|
||||
{% if "CRITICAL" in log %}
|
||||
<p> <strong> {{ log }} </strong> </p>
|
||||
{% else %}
|
||||
{% else %}
|
||||
{% if "ERROR" in log %}
|
||||
<p> <strong> {{ log }} </strong> </p>
|
||||
<p> <strong> {{ log }} </strong> </p>
|
||||
{% else %}
|
||||
<p> {{ log }} </p>
|
||||
<p> {{ log }} </p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<div class = "pagination">
|
||||
<span class = "step-links">
|
||||
<div class = "pagination">
|
||||
<span class = "step-links">
|
||||
{% if logs.has_previous %}
|
||||
<a href = "?page={{ logs.previous_page_number }}">previous</a>
|
||||
<a href = "?page={{ logs.previous_page_number }}">previous</a>
|
||||
{% endif %}
|
||||
|
||||
<span class="current">
|
||||
Page {{ logs.number }} of {{ logs.paginator.num_pages }}.
|
||||
Page {{ logs.number }} of {{ logs.paginator.num_pages }}.
|
||||
</span>
|
||||
|
||||
{% if logs.has_next %}
|
||||
<a href="?page={{ logs.next_page_number }}">next</a>
|
||||
<a href="?page={{ logs.next_page_number }}">next</a>
|
||||
{% endif %}
|
||||
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{% load i18n %}
|
||||
<html>
|
||||
<body style="max-width: 90ex">
|
||||
<p>{% blocktrans %}{{ full_name }},{% endblocktrans %}</p>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
Your account on {{ site }} has been deleted.
|
||||
All related data will be deleted today.
|
||||
You cannot log in with it anymore.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>{% blocktrans %}{{ full_name }},{% endblocktrans %}</p>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
Your account on {{ site }} has been deleted.
|
||||
All related data will be deleted today.
|
||||
You cannot log in with it anymore.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
{% load i18n %}
|
||||
<html>
|
||||
<body style="max-width: 90ex">
|
||||
<p>{% blocktrans %}{{ full_name }},{% endblocktrans %}</p>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
Please click on {{ deletion_url }}
|
||||
if you want to validate your account deletion request on
|
||||
{{ site }}.
|
||||
If so, all related data will be deleted in the next few hours.
|
||||
You won't be able to log in with this account anymore.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>{% blocktrans %}{{ full_name }},{% endblocktrans %}</p>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
Please click on {{ deletion_url }}
|
||||
if you want to validate your account deletion request on
|
||||
{{ site }}.
|
||||
If so, all related data will be deleted in the next few hours.
|
||||
You won't be able to log in with this account anymore.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -13,24 +13,24 @@
|
|||
|
||||
|
||||
{% block content %}
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
Do you really want to delete your account?
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% if user.email_verified %}
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
A validation message will be sent to {{ email }}. You will have to visit the
|
||||
link in this email in order to complete the deletion process.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
<div class="buttons">
|
||||
<button class="submit-button" name="submit">{% if user.email_verified %}{% trans "Send message" %}{% else %}{% trans "Delete account" %}{% endif %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
Do you really want to delete your account?
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% if user.email_verified %}
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
A validation message will be sent to {{ email }}. You will have to visit the
|
||||
link in this email in order to complete the deletion process.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
{% endif %}
|
||||
<div class="buttons">
|
||||
<button class="submit-button" name="submit">{% if user.email_verified %}{% trans "Send message" %}{% else %}{% trans "Delete account" %}{% endif %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -13,15 +13,15 @@
|
|||
|
||||
|
||||
{% block content %}
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
You are about to delete the account of <strong>{{ user }}</strong>.
|
||||
This will remove all related personal data and you won't be able to log in with this account anymore.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<button class="delete-button" name="delete">{% trans "Confirm deletion" %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
</form>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
You are about to delete the account of <strong>{{ user }}</strong>.
|
||||
This will remove all related personal data and you won't be able to log in with this account anymore.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<button class="delete-button" name="delete">{% trans "Confirm deletion" %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -17,12 +17,12 @@
|
|||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
{% if form.instance and form.instance.id %}
|
||||
<button class="submit-button">{% trans "Submit" %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
{% else %}
|
||||
<button class="submit-button">{% trans "Create" %}</button>
|
||||
{% endif %}
|
||||
{% if form.instance and form.instance.id %}
|
||||
<button class="submit-button">{% trans "Submit" %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
{% else %}
|
||||
<button class="submit-button">{% trans "Create" %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
{% block required-attributes-message %}
|
||||
<div class="infonotice">{% trans "The following informations are required if you want to use this service:"%} {% for attribute in view.missing_attributes %}{{ attribute.label }}{% if not forloop.last %}, {% endif %}{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{{ block.super }}
|
||||
{% block required-attributes-message %}
|
||||
<div class="infonotice">{% trans "The following informations are required if you want to use this service:"%} {% for attribute in view.missing_attributes %}{{ attribute.label }}{% if not forloop.last %}, {% endif %}{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
{{ block.super }}
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,20 +6,20 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
<a href="..">{% trans "Your account" %}</a>
|
||||
<a href="">{{ view.title }}</a>
|
||||
{{ block.super }}
|
||||
<a href="..">{% trans "Your account" %}</a>
|
||||
<a href="">{{ view.title }}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% blocktrans with email=user.email %}Your current email is {{ email }}.
|
||||
An email will be sent to validate the new one.{% endblocktrans %}</p>
|
||||
An email will be sent to validate the new one.{% endblocktrans %}</p>
|
||||
<form method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans "Validate" %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
<button class="submit-button">{% trans "Validate" %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,60 +2,60 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block page-title %}
|
||||
{{ block.super }} - {{ view.title }}
|
||||
{{ block.super }} - {{ view.title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
<a href="..">{% trans "Your account" %}</a>
|
||||
<a href="">{{ view.title }}</a>
|
||||
{{ block.super }}
|
||||
<a href="..">{% trans "Your account" %}</a>
|
||||
<a href="">{{ view.title }}</a>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% block consents-pre %}{% endblock %}
|
||||
<div class="consents">
|
||||
{% block consents-top %}
|
||||
<p class="consents--top">
|
||||
{% if consents|length_is:0 %}
|
||||
{% trans "You have not given any authorization to access your account profile data." %}
|
||||
{% else %}
|
||||
{% trans "You have given authorizations to access your account profile data." %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endblock %}
|
||||
<ul class="consents--list">
|
||||
{% for auth in consents %}
|
||||
<li class="consents--item">
|
||||
<form method="post" class="consents--form" action="{% url "consent-delete" pk=auth.pk %}">
|
||||
{% csrf_token %}
|
||||
{% block consent %}
|
||||
<div class="consents--infos">
|
||||
{% block consent-top %}{% endblock %}
|
||||
<span class="consents--client">
|
||||
{{ auth.client }}
|
||||
</span>
|
||||
<span class="consents--dates">
|
||||
<span class="consents-dates--since">
|
||||
<span class="label">{% trans "Allowed since:" %}</span>
|
||||
<span class="time">{{ auth.created }}</span>
|
||||
</span>
|
||||
<span class="consents--separator">/</span>
|
||||
<span class="consents--expired">
|
||||
<span class="label">{% trans "Expire on:" %}</span>
|
||||
<span class="time">{{ auth.expired }}</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="consents--actions">
|
||||
<button class="consents--revoke-button">{% trans 'Revoke' %}</button>
|
||||
</div>
|
||||
{% block consent-bottom %}{% endblock %}
|
||||
{% endblock %}
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% block consents-bottom %}{% endblock %}
|
||||
</div>
|
||||
{% block consents-post %}{% endblock %}
|
||||
{% block consents-pre %}{% endblock %}
|
||||
<div class="consents">
|
||||
{% block consents-top %}
|
||||
<p class="consents--top">
|
||||
{% if consents|length_is:0 %}
|
||||
{% trans "You have not given any authorization to access your account profile data." %}
|
||||
{% else %}
|
||||
{% trans "You have given authorizations to access your account profile data." %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endblock %}
|
||||
<ul class="consents--list">
|
||||
{% for auth in consents %}
|
||||
<li class="consents--item">
|
||||
<form method="post" class="consents--form" action="{% url "consent-delete" pk=auth.pk %}">
|
||||
{% csrf_token %}
|
||||
{% block consent %}
|
||||
<div class="consents--infos">
|
||||
{% block consent-top %}{% endblock %}
|
||||
<span class="consents--client">
|
||||
{{ auth.client }}
|
||||
</span>
|
||||
<span class="consents--dates">
|
||||
<span class="consents-dates--since">
|
||||
<span class="label">{% trans "Allowed since:" %}</span>
|
||||
<span class="time">{{ auth.created }}</span>
|
||||
</span>
|
||||
<span class="consents--separator">/</span>
|
||||
<span class="consents--expired">
|
||||
<span class="label">{% trans "Expire on:" %}</span>
|
||||
<span class="time">{{ auth.expired }}</span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="consents--actions">
|
||||
<button class="consents--revoke-button">{% trans 'Revoke' %}</button>
|
||||
</div>
|
||||
{% block consent-bottom %}{% endblock %}
|
||||
{% endblock %}
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% block consents-bottom %}{% endblock %}
|
||||
</div>
|
||||
{% block consents-post %}{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,21 +7,21 @@
|
|||
</div>
|
||||
{% if only_info %}
|
||||
<script>
|
||||
$(function () {
|
||||
var $a2_continue = $('#a2-continue');
|
||||
var clicked = false;
|
||||
$a2_continue.on('click', function (event) {
|
||||
if (! clicked) {
|
||||
# prevent double click for 3 seconds
|
||||
clicked = true;
|
||||
window.setTimeout(function () { clicked = false; }, 3000);
|
||||
} else {
|
||||
event.preventDefault();
|
||||
}
|
||||
$(function () {
|
||||
var $a2_continue = $('#a2-continue');
|
||||
var clicked = false;
|
||||
$a2_continue.on('click', function (event) {
|
||||
if (! clicked) {
|
||||
# prevent double click for 3 seconds
|
||||
clicked = true;
|
||||
window.setTimeout(function () { clicked = false; }, 3000);
|
||||
} else {
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
# automatic click after 3 seconds
|
||||
window.setTimeout(function () { if (!clicked) { $a2_continue.click(); } }, 3000);
|
||||
});
|
||||
# automatic click after 3 seconds
|
||||
window.setTimeout(function () { if (!clicked) { $a2_continue.click(); } }, 3000);
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -14,32 +14,32 @@
|
|||
{% block content %}
|
||||
{% if authorized_services %}
|
||||
<div id="login-actions">
|
||||
<h2>{% trans "Services" %}</h2>
|
||||
<ul>
|
||||
{% for service in authorized_services %}
|
||||
{% if service.actions %}
|
||||
<li>{% if service.url %}<a href="{{ service.url }}">{% endif %}{{ service.name }}{% if service.url %}</a>{% endif %}
|
||||
<div class="actions">
|
||||
{% for action in service.actions %}
|
||||
{% if action.0 == "template" %}
|
||||
{% include action.1 %}
|
||||
{% else %}
|
||||
<form action="{{ action.2 }}" method="{{ action.1 }}">
|
||||
{% if action.3 %}
|
||||
{% for key, value in action.3 %}
|
||||
<input type="hidden" name="{{ key }}" value="{{ value }}" />
|
||||
{% endfor %}
|
||||
<h2>{% trans "Services" %}</h2>
|
||||
<ul>
|
||||
{% for service in authorized_services %}
|
||||
{% if service.actions %}
|
||||
<li>{% if service.url %}<a href="{{ service.url }}">{% endif %}{{ service.name }}{% if service.url %}</a>{% endif %}
|
||||
<div class="actions">
|
||||
{% for action in service.actions %}
|
||||
{% if action.0 == "template" %}
|
||||
{% include action.1 %}
|
||||
{% else %}
|
||||
<form action="{{ action.2 }}" method="{{ action.1 }}">
|
||||
{% if action.3 %}
|
||||
{% for key, value in action.3 %}
|
||||
<input type="hidden" name="{{ key }}" value="{{ value }}" />
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
<input type="hidden" name="next" value="/"/>
|
||||
<button class="submit-link">{{ action.0 }}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</li>
|
||||
{% endif %}
|
||||
<input type="hidden" name="next" value="/"/>
|
||||
<button class="submit-link">{{ action.0 }}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -10,24 +10,24 @@
|
|||
{% block breadcrumb %}{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static "authentic2/css/css-tabs.css" %}">
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" href="{% static "authentic2/css/css-tabs.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% include "authentic2/service_info_fragment.html" %}
|
||||
{% include "authentic2/service_info_fragment.html" %}
|
||||
|
||||
<div id="a2-login-forms">
|
||||
{% for id, login_block in blocks.items %}
|
||||
<span id="css-tab{{ forloop.counter }}"></span>
|
||||
<span id="css-tab{{ forloop.counter }}"></span>
|
||||
{% endfor %}
|
||||
|
||||
{% if blocks|length != 1 %}
|
||||
{% for id, login_block in blocks.items %}
|
||||
<a class="css-tab-link css-tab{{ forloop.counter }} {% if forloop.first %}css-tab-default{% endif %} {{ login_block.extra_css_class }}" href="#css-tab{{ forloop.counter }}">
|
||||
{{ login_block.name }}
|
||||
</a>
|
||||
<a class="css-tab-link css-tab{{ forloop.counter }} {% if forloop.first %}css-tab-default{% endif %} {{ login_block.extra_css_class }}" href="#css-tab{{ forloop.counter }}">
|
||||
{{ login_block.name }}
|
||||
</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
|
|
|
@ -2,41 +2,41 @@
|
|||
|
||||
{% block login %}
|
||||
|
||||
{% block form %}
|
||||
{% if authenticator.button_description %}
|
||||
<p>{{ authenticator.button_description }}</p>
|
||||
{% endif %}
|
||||
{% block form %}
|
||||
{% if authenticator.button_description %}
|
||||
<p>{{ authenticator.button_description }}</p>
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<form method="post" id="login-password-form" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
{% block buttons %}
|
||||
<div class="buttons">
|
||||
<button class="submit-button" name="{{ submit_name }}">{% trans "Log in" %}</button>
|
||||
{% if cancel %}
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans 'Cancel' %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</form>
|
||||
{{ form.media }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
<div>
|
||||
<form method="post" id="login-password-form" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
{% block buttons %}
|
||||
<div class="buttons">
|
||||
<button class="submit-button" name="{{ submit_name }}">{% trans "Log in" %}</button>
|
||||
{% if cancel %}
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans 'Cancel' %}</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
</form>
|
||||
{{ form.media }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block actions %}
|
||||
{% if can_reset_password or registration_authorized %}
|
||||
<div class="login-actions">
|
||||
<ul>
|
||||
{% if can_reset_password %}
|
||||
<li><p>→ {% trans "Forgot password?" %} <a href="{% url 'password_reset' %}{% if request.GET.next %}?next={{ request.GET.next|urlencode }}{% endif %}">{% trans "Reset it!" %}</a></p></li>
|
||||
{% endif %}
|
||||
{% if registration_authorized and not hide_login_registration_link %}
|
||||
<li><p>→ {% trans "Not a member?" %} <a href="{{ registration_url }}">{% trans "Register!" %}</a></p></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block actions %}
|
||||
{% if can_reset_password or registration_authorized %}
|
||||
<div class="login-actions">
|
||||
<ul>
|
||||
{% if can_reset_password %}
|
||||
<li><p>→ {% trans "Forgot password?" %} <a href="{% url 'password_reset' %}{% if request.GET.next %}?next={{ request.GET.next|urlencode }}{% endif %}">{% trans "Reset it!" %}</a></p></li>
|
||||
{% endif %}
|
||||
{% if registration_authorized and not hide_login_registration_link %}
|
||||
<li><p>→ {% trans "Not a member?" %} <a href="{{ registration_url }}">{% trans "Register!" %}</a></p></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% if can_change_password %}
|
||||
<h4>{% trans "Password" %}</h4>
|
||||
<h4>{% trans "Password" %}</h4>
|
||||
|
||||
<div>
|
||||
<p>
|
||||
<a href="{% url 'password_change' %}">
|
||||
{% if has_usable_password %}
|
||||
{% trans "Change your password" %}
|
||||
{% else %}
|
||||
{% trans "Set your password" %}
|
||||
{% endif %}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
<a href="{% url 'password_change' %}">
|
||||
{% if has_usable_password %}
|
||||
{% trans "Change your password" %}
|
||||
{% else %}
|
||||
{% trans "Set your password" %}
|
||||
{% endif %}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{% load i18n gadjo %}
|
||||
|
||||
{% block registration %}
|
||||
<form enctype="multipart/form-data" method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
<form enctype="multipart/form-data" method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -24,9 +24,9 @@
|
|||
{% block content %}
|
||||
<h2>{% trans message %}</h2>
|
||||
<ul class="logout-list">
|
||||
{% for fragment in logout_list %}
|
||||
{{ fragment|safe }}
|
||||
{% endfor %}
|
||||
{% for fragment in logout_list %}
|
||||
{{ fragment|safe }}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<div id="continue-link">
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Hi," %}</p>
|
||||
<p>{% trans "Hi," %}</p>
|
||||
|
||||
<p>{% blocktrans trimmed with hostname=request.get_host %}
|
||||
You requested reset of your password on {{ hostname }}. Unfortunately, it cannot be done from this website, because your account is synchronised from a LDAP server. Hence password reset should be handled in the directory.
|
||||
{% endblocktrans %}</p>
|
||||
<p>{% blocktrans trimmed with hostname=request.get_host %}
|
||||
You requested reset of your password on {{ hostname }}. Unfortunately, it cannot be done from this website, because your account is synchronised from a LDAP server. Hence password reset should be handled in the directory.
|
||||
{% endblocktrans %}</p>
|
||||
|
||||
<p>{% trans "In the meantine, you can access your account using the button below." %}</p>
|
||||
<p>{% trans "In the meantine, you can access your account using the button below." %}</p>
|
||||
|
||||
{% with _("Access account") as button_label %}
|
||||
{% include "emails/button-link.html" with url=login_url label=button_label %}
|
||||
{% endwith %}
|
||||
{% with _("Access account") as button_label %}
|
||||
{% include "emails/button-link.html" with url=login_url label=button_label %}
|
||||
{% endwith %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Hi," %}</p>
|
||||
<p>{% trans "Hi," %}</p>
|
||||
|
||||
<p>{% blocktrans trimmed with hostname=request.get_host %}
|
||||
You requested reset of your password on {{ hostname }}, but no account was found associated with this address.
|
||||
{% endblocktrans %}</p>
|
||||
{% if registration_url %}
|
||||
{% with _("Create an account") as button_label %}
|
||||
{% include "emails/button-link.html" with url=registration_url label=button_label %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
<p>{% blocktrans trimmed with hostname=request.get_host %}
|
||||
You requested reset of your password on {{ hostname }}, but no account was found associated with this address.
|
||||
{% endblocktrans %}</p>
|
||||
{% if registration_url %}
|
||||
{% with _("Create an account") as button_label %}
|
||||
{% include "emails/button-link.html" with url=registration_url label=button_label %}
|
||||
{% endwith %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Hi," %}</p>
|
||||
<p>{% trans "Hi," %}</p>
|
||||
|
||||
<p>{% blocktrans trimmed with hostname=request.get_host %}
|
||||
You requested reset of your password on {{ hostname }}. Unfortunately, your account has been disabled on this server, thus your request can't succeed.
|
||||
{% endblocktrans %}</p>
|
||||
<p>{% blocktrans trimmed with hostname=request.get_host %}
|
||||
You requested reset of your password on {{ hostname }}. Unfortunately, your account has been disabled on this server, thus your request can't succeed.
|
||||
{% endblocktrans %}</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% if widget.is_initial %}{{ widget.initial_text }}: <a href="{{ widget.value.url }}"><img src="{{ widget.value.url }}"/></a>{% if not widget.required %}
|
||||
<input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}" />
|
||||
<label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label>{% endif %}<br />
|
||||
{{ widget.input_text }}:{% endif %}
|
||||
<input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}" />
|
||||
<label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label>{% endif %}<br />
|
||||
{{ widget.input_text }}:{% endif %}
|
||||
<input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %} />
|
||||
|
|
|
@ -2,22 +2,22 @@
|
|||
<html>
|
||||
<body style="max-width: 90ex">
|
||||
{% blocktrans %}
|
||||
<p> Hi {{ user }}!</p>
|
||||
<p>Your registration on {{ site }} was successful!</p>
|
||||
<p> Hi {{ user }}!</p>
|
||||
<p>Your registration on {{ site }} was successful!</p>
|
||||
|
||||
<p><a href="{{ login_url }}">Login!</a></p>
|
||||
<p><a href="{{ login_url }}">Login!</a></p>
|
||||
{% endblocktrans %}
|
||||
<ul>
|
||||
{% if user.username %}
|
||||
<li>{% trans "Username:" %} {{ user.username }}</li>
|
||||
{% endif %}
|
||||
<li>{% trans "Email:" %} {{ user.email }}</li>
|
||||
{% if user.first_name %}
|
||||
<li>{% trans "First name:" %} {{ user.first_name }}</li>
|
||||
{% endif %}
|
||||
{% if user.last_name %}
|
||||
<li>{% trans "Last name:" %} {{ user.last_name }}</li>
|
||||
{% endif %}
|
||||
{% if user.username %}
|
||||
<li>{% trans "Username:" %} {{ user.username }}</li>
|
||||
{% endif %}
|
||||
<li>{% trans "Email:" %} {{ user.email }}</li>
|
||||
{% if user.first_name %}
|
||||
<li>{% trans "First name:" %} {{ user.first_name }}</li>
|
||||
{% endif %}
|
||||
{% if user.last_name %}
|
||||
<li>{% trans "Last name:" %} {{ user.last_name }}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
{% load i18n %}
|
||||
{% if service %}
|
||||
{% firstof service_colour service_ou_colour as colour %}
|
||||
{% firstof service.home_url service.ou.home_url as home_url %}
|
||||
{% firstof service.name service.ou.name as name %}
|
||||
{% firstof service_colour service_ou_colour as colour %}
|
||||
{% firstof service.home_url service.ou.home_url as home_url %}
|
||||
{% firstof service.name service.ou.name as name %}
|
||||
|
||||
{% if show_service_infos and home_url %}
|
||||
{% block service-colour %}
|
||||
{% if colour %}
|
||||
<style>
|
||||
a.service-message--link {
|
||||
color: {{ colour }};
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% if show_service_infos and home_url %}
|
||||
{% block service-colour %}
|
||||
{% if colour %}
|
||||
<style>
|
||||
a.service-message--link {
|
||||
color: {{ colour }};
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div class="service-message">
|
||||
{% firstof service_logo_url service_ou_logo_url as logo_url %}
|
||||
{% block service-logo %}
|
||||
{% if logo_url %}
|
||||
<picture>
|
||||
<a href="{{ home_url }}"><img src="{{ logo_url }}" alt="{{ name }}" class="service-message--logo" /></a>
|
||||
</picture>
|
||||
<div class="service-message">
|
||||
{% firstof service_logo_url service_ou_logo_url as logo_url %}
|
||||
{% block service-logo %}
|
||||
{% if logo_url %}
|
||||
<picture>
|
||||
<a href="{{ home_url }}"><img src="{{ logo_url }}" alt="{{ name }}" class="service-message--logo" /></a>
|
||||
</picture>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div>
|
||||
{% block service-name-top %}{% endblock %}
|
||||
<a href="{{ home_url }}" class="service-message--link">
|
||||
{% block service-name-pre %}{% endblock %}
|
||||
{% block service-name %}{{ name }}{% endblock %}
|
||||
{% block service-name-post %}{% endblock %}
|
||||
</a>
|
||||
{% block service-name-bottom %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div>
|
||||
{% block service-name-top %}{% endblock %}
|
||||
<a href="{{ home_url }}" class="service-message--link">
|
||||
{% block service-name-pre %}{% endblock %}
|
||||
{% block service-name %}{{ name }}{% endblock %}
|
||||
{% block service-name-post %}{% endblock %}
|
||||
</a>
|
||||
{% block service-name-bottom %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load i18n gadjo %}
|
||||
|
||||
{% block page-title %}
|
||||
{{ block.super }} - {% trans "Access denied" %}
|
||||
{{ block.super }} - {% trans "Access denied" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% trans "You are not authorized to access this service, please contact your administrator." %} <a href="{{callback_url}}">{% trans "Back" %}</a>
|
||||
{% trans "You are not authorized to access this service, please contact your administrator." %} <a href="{{callback_url}}">{% trans "Back" %}</a>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% load i18n %}
|
||||
{% include "django/forms/widgets/select.html" %}
|
||||
{% if not 'disabled' in widget.attrs %}
|
||||
<div>
|
||||
<label><input id="manual-address" type="checkbox">{% trans "Manually enter the address" %}</label>
|
||||
</div>
|
||||
<div>
|
||||
<label><input id="manual-address" type="checkbox">{% trans "Manually enter the address" %}</label>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="a2-password-feedback" data-min-strength="{{ min_strength }}">
|
||||
<div class="a2-password-strength strength-0">
|
||||
<p class="a2-password-strength--label">{% trans "Password strength :" %}
|
||||
<div class="a2-password-strength--name">-</div>
|
||||
<div class="a2-password-strength--name">-</div>
|
||||
</p>
|
||||
<div class="a2-password-strength--gauge">
|
||||
<div class="a2-password-strength--bar"></div>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body>
|
||||
<div style="max-width: 60ex;">
|
||||
<div class="content">
|
||||
{% block content %}
|
||||
{{ content }}
|
||||
{% endblock %}
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
</head>
|
||||
<body>
|
||||
<div style="max-width: 60ex;">
|
||||
<div class="content">
|
||||
{% block content %}
|
||||
{{ content }}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
<script src="{% xstatic 'jquery' 'jquery.min.js' %}"></script>
|
||||
<script>$(function () {
|
||||
setTimeout(function () {
|
||||
window.location='{{ next_page|escapejs }}'
|
||||
}, {{ redir_timeout }});
|
||||
});
|
||||
window.location='{{ next_page|escapejs }}'
|
||||
}, {{ redir_timeout }});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>{{ title }}</h2>
|
||||
{{ msg }}
|
||||
<p><a href="{{ back }}">{% trans "Back" %}</a></p>
|
||||
<h2>{{ title }}</h2>
|
||||
{{ msg }}
|
||||
<p><a href="{{ back }}">{% trans "Back" %}</a></p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
{% block content %}
|
||||
|
||||
<h2>{% trans "Authentication failure" %}</h2>
|
||||
<h2>{% trans "Authentication failure" %}</h2>
|
||||
|
||||
<p>{% trans "The SSL authentication has failed" %}</p>
|
||||
<a href="/">Back</a>
|
||||
<p>{% trans "The SSL authentication has failed" %}</p>
|
||||
<a href="/">Back</a>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,34 +6,34 @@
|
|||
{% block content %}
|
||||
|
||||
|
||||
{% load i18n %}
|
||||
<div id="consent">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>
|
||||
{% trans "Choose attributes to send to " %} <strong>{{ provider_id }}</strong> ?
|
||||
{% load i18n %}
|
||||
<div id="consent">
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<p>
|
||||
{% trans "Choose attributes to send to " %} <strong>{{ provider_id }}</strong> ?
|
||||
|
||||
<ul>
|
||||
{% for i, name, values in attributes %}
|
||||
<li>
|
||||
{% if allow_selection %}
|
||||
<input type="checkbox" name="attribute_nb_{{ i }}" value="{{ i }}" checked="checked"/>
|
||||
{% endif %}
|
||||
{{ name }} : <strong>{% for v in values %}{{ v }} {% endfor %}</strong></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<ul>
|
||||
{% for i, name, values in attributes %}
|
||||
<li>
|
||||
{% if allow_selection %}
|
||||
<input type="checkbox" name="attribute_nb_{{ i }}" value="{{ i }}" checked="checked"/>
|
||||
{% endif %}
|
||||
{{ name }} : <strong>{% for v in values %}{{ v }} {% endfor %}</strong></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
</p>
|
||||
</p>
|
||||
|
||||
<input type="hidden" name="next" value="{{ next }}" />
|
||||
<input type="hidden" name="nonce" value="{{ nonce }}" />
|
||||
{% if allow_selection %}
|
||||
<button name="accept">{% trans 'Send selected' %}</button>
|
||||
{% else %}
|
||||
<button name="accept">{% trans 'Send all' %}</button>
|
||||
{% endif %}
|
||||
<button name="refuse">{% trans 'Refuse all' %}</button>
|
||||
</form>
|
||||
</div>
|
||||
<input type="hidden" name="next" value="{{ next }}" />
|
||||
<input type="hidden" name="nonce" value="{{ nonce }}" />
|
||||
{% if allow_selection %}
|
||||
<button name="accept">{% trans 'Send selected' %}</button>
|
||||
{% else %}
|
||||
<button name="accept">{% trans 'Send all' %}</button>
|
||||
{% endif %}
|
||||
<button name="refuse">{% trans 'Refuse all' %}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,27 +6,27 @@
|
|||
{% block content %}
|
||||
|
||||
|
||||
{% load i18n %}
|
||||
<div id="consent">
|
||||
<p>
|
||||
{% if provider_id %}
|
||||
{% blocktrans with provider_id=provider_id %}
|
||||
Do you accept to federate your account with <strong>{{ provider_id }}</strong>?
|
||||
{% endblocktrans %}
|
||||
{% else %}
|
||||
{% trans "Do you accept to federate your account?" %}
|
||||
{% endif %}
|
||||
{{ provider_id2 }}
|
||||
</p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="next" value="{{ next }}" />
|
||||
<input type="hidden" name="nonce" value="{{ nonce }}" />
|
||||
<div class="buttons">
|
||||
<button name="accept">{% trans 'Accept' %}</button>
|
||||
<button name="refuse">{% trans 'Refuse' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% load i18n %}
|
||||
<div id="consent">
|
||||
<p>
|
||||
{% if provider_id %}
|
||||
{% blocktrans with provider_id=provider_id %}
|
||||
Do you accept to federate your account with <strong>{{ provider_id }}</strong>?
|
||||
{% endblocktrans %}
|
||||
{% else %}
|
||||
{% trans "Do you accept to federate your account?" %}
|
||||
{% endif %}
|
||||
{{ provider_id2 }}
|
||||
</p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="next" value="{{ next }}" />
|
||||
<input type="hidden" name="nonce" value="{{ nonce }}" />
|
||||
<div class="buttons">
|
||||
<button name="accept">{% trans 'Accept' %}</button>
|
||||
<button name="refuse">{% trans 'Refuse' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- Close any popup enclosing us -->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<head>
|
||||
<title>Redirect to {{ next }}</title>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
window.open('{{ next }}', '_top');
|
||||
</script>
|
||||
</body>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
window.open('{{ next }}', '_top');
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% trans "Account activation" %}
|
||||
{% trans "Account activation" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if account %}
|
||||
{% if account %}
|
||||
|
||||
<p>{% trans "Account successfully activated" %}</p>
|
||||
<p>{% trans "Account successfully activated" %}</p>
|
||||
|
||||
<p><a href="{% url 'auth_login' %}">{% trans "Log in" %}</a></p>
|
||||
<p><a href="{% url 'auth_login' %}">{% trans "Log in" %}</a></p>
|
||||
|
||||
{% else %}
|
||||
{% else %}
|
||||
|
||||
<p>{% trans "Account activation failed" %}</p>
|
||||
<p>{% trans "Account activation failed" %}</p>
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
{% trans "Your account is now activated" %}
|
||||
{% trans "Your account is now activated" %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
{% endif %}
|
||||
|
||||
{% if expiration_days > 1 %}
|
||||
<p>{% blocktrans %}This link is valid for {{ expiration_days }} days.{% endblocktrans %}</>
|
||||
<p>{% blocktrans %}This link is valid for {{ expiration_days }} days.{% endblocktrans %}</>
|
||||
{% else %}
|
||||
<p>{% blocktrans %}This link is valid for 24 hours.{% endblocktrans %}</>
|
||||
<p>{% blocktrans %}This link is valid for 24 hours.{% endblocktrans %}</>
|
||||
{% endif %}
|
||||
|
||||
<p>{% blocktrans %}If you did not register on {{ site }}, ignore this email.{% endblocktrans %}</p>
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block title %}
|
||||
{% trans "Logging out" %}
|
||||
{% trans "Logging out" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Logged out" %}</p>
|
||||
<p><a href="/">{% trans "Back" %}</a></p>
|
||||
<p>{% trans "Logged out" %}</p>
|
||||
<p><a href="/">{% trans "Back" %}</a></p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block title %}
|
||||
{{ view.title }}
|
||||
{{ view.title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<p>{% trans "Password changed" %}</p>
|
||||
<p>{% trans "Password changed" %}</p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -14,17 +14,17 @@
|
|||
{% block content %}
|
||||
<form method="post" action="." class="pk-mark-optional-fields">
|
||||
{% if user.has_usable_password %}
|
||||
<p>{% blocktrans %}To change your password you must provide your current password, then provide
|
||||
the new password and confirm it.
|
||||
{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}To change your password you must provide your current password, then provide
|
||||
the new password and confirm it.
|
||||
{% endblocktrans %}</p>
|
||||
{% else %}
|
||||
<p>{% blocktrans %}You are going to define your account password.{% endblocktrans %}</p>
|
||||
<p>{% blocktrans %}You are going to define your account password.{% endblocktrans %}</p>
|
||||
{% endif %}
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
<button class="cancel-button" name="cancel" formnovalidate>{% trans "Cancel" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,26 +2,26 @@
|
|||
{% load i18n gadjo %}
|
||||
|
||||
{% block title %}
|
||||
{{ view.title }}
|
||||
{{ view.title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if validlink %}
|
||||
{% if validlink %}
|
||||
|
||||
<form method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<form method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% else %}
|
||||
{% else %}
|
||||
|
||||
<p>{% trans "Password reset failed" %}</p>
|
||||
<p>{% trans "Password reset failed" %}</p>
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% load i18n %}
|
||||
{% blocktrans with hostname=request.get_host %}You requested reset of your password on {{ hostname }}, to proceed please
|
||||
click on the following link{% endblocktrans %}:
|
||||
click on the following link{% endblocktrans %}:
|
||||
{% block reset_link %}
|
||||
{{ reset_url }}
|
||||
{{ reset_url }}
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
{% load i18n gadjo %}
|
||||
|
||||
{% block title %}
|
||||
{% trans "Resetting password" %}
|
||||
{% trans "Resetting password" %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h2>{% trans "Resetting password" %}</h2>
|
||||
<h2>{% trans "Resetting password" %}</h2>
|
||||
|
||||
<form method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
<form method="post" class="pk-mark-optional-fields">
|
||||
{% csrf_token %}
|
||||
{{ form|with_template }}
|
||||
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="buttons">
|
||||
<button class="submit-button">{% trans 'Submit' %}</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -7,36 +7,36 @@
|
|||
|
||||
{% block content %}
|
||||
{% if 'robot' in request.GET %}
|
||||
<p><strong>{% trans "Your password reset request has been refused." %}</strong>{% trans "Indeed your browser checked a hidden anti-robot checkbox on the registration form. A browser extension may produce this behaviour, in this case disable such extensions and try again." %}</p>
|
||||
<p><strong>{% trans "Your password reset request has been refused." %}</strong>{% trans "Indeed your browser checked a hidden anti-robot checkbox on the registration form. A browser extension may produce this behaviour, in this case disable such extensions and try again." %}</p>
|
||||
{% else %}
|
||||
<p>
|
||||
<strong>
|
||||
{% blocktrans with email=request.session.reset_email %}
|
||||
An email has been sent to {{ email }}.
|
||||
{% endblocktrans %}
|
||||
</strong></p>
|
||||
<p><strong>
|
||||
{% blocktrans %}
|
||||
Follow the instructions in this email in order to choose a new password.
|
||||
{% endblocktrans %}
|
||||
</strong></p>
|
||||
{% block advice %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
The email may take several minutes to be received. It can also be
|
||||
considered as spam: please look in your "junk mail" folder.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
If you still have not received the instructions, add "{{from_email_address}}"
|
||||
to your address book or authorized sender list, and then repeat the
|
||||
password reset process.
|
||||
{% endblocktrans %}
|
||||
{% endblock %}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% block back %}
|
||||
<p><a href="{% url 'auth_login' %}">{% trans "Back to login" %}</a></p>
|
||||
<strong>
|
||||
{% blocktrans with email=request.session.reset_email %}
|
||||
An email has been sent to {{ email }}.
|
||||
{% endblocktrans %}
|
||||
</strong></p>
|
||||
<p><strong>
|
||||
{% blocktrans %}
|
||||
Follow the instructions in this email in order to choose a new password.
|
||||
{% endblocktrans %}
|
||||
</strong></p>
|
||||
{% block advice %}
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
The email may take several minutes to be received. It can also be
|
||||
considered as spam: please look in your "junk mail" folder.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>
|
||||
{% blocktrans %}
|
||||
If you still have not received the instructions, add "{{from_email_address}}"
|
||||
to your address book or authorized sender list, and then repeat the
|
||||
password reset process.
|
||||
{% endblocktrans %}
|
||||
{% endblock %}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% block back %}
|
||||
<p><a href="{% url 'auth_login' %}">{% trans "Back to login" %}</a></p>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue