2023-03-09 16:45:20 +00:00
|
|
|
{% import 'macro/flask.html' as flask %}
|
2021-07-29 09:50:13 +00:00
|
|
|
|
2020-08-17 09:53:30 +00:00
|
|
|
<!doctype html>
|
2023-01-18 17:00:32 +00:00
|
|
|
<html lang="{{ locale }}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
2020-10-21 08:52:18 +00:00
|
|
|
|
2023-03-10 00:02:36 +00:00
|
|
|
<title>{% block title %}{% trans %}Authorization interface{% endtrans %}{% endblock %} - {{ website_name|default("Canaille") }}</title>
|
2020-10-21 08:52:18 +00:00
|
|
|
|
2021-12-20 22:57:27 +00:00
|
|
|
<link href="/static/fomanticui/semantic.min.css" rel="stylesheet">
|
|
|
|
<link href="/static/fonts/lato.css" rel="stylesheet">
|
|
|
|
<link href="/static/css/base.css" rel="stylesheet">
|
|
|
|
{% if logo_url %}<link rel="icon" href="{{ favicon_url }}">{% endif %}
|
|
|
|
{% block style %}{% endblock %}
|
2020-08-17 09:53:30 +00:00
|
|
|
|
2021-12-20 22:57:27 +00:00
|
|
|
<!--[if lt IE 9]>
|
2021-09-17 09:51:08 +00:00
|
|
|
<script>window.html5 || document.write('<script src="/static/html5shiv/html5shiv.min.js"><\/script>')</script>
|
2020-08-17 09:53:30 +00:00
|
|
|
<script src="/static/js/respond.min.js"></script>
|
|
|
|
<![endif]-->
|
|
|
|
|
2021-12-20 22:57:27 +00:00
|
|
|
</head>
|
2020-08-17 09:53:30 +00:00
|
|
|
|
2021-12-20 22:57:27 +00:00
|
|
|
<body>
|
|
|
|
{% block menu %}
|
|
|
|
{% if user and menu %}
|
|
|
|
<nav class="ui stackable labeled icon menu container">
|
|
|
|
{% if logo_url %}
|
|
|
|
<div class="header item">
|
|
|
|
<a href="/" class="logo">
|
2022-11-04 17:28:26 +00:00
|
|
|
<img class="ui img" src="{{ logo_url }}" alt="{{ website_name }}" />
|
2021-12-20 22:57:27 +00:00
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
2022-04-05 15:16:09 +00:00
|
|
|
{% if user.can_edit_self %}
|
|
|
|
<a class="item {% if menuitem == "profile" %}active{% endif %}"
|
2023-03-14 11:08:37 +00:00
|
|
|
href="{{ url_for('account.profile_edition', username=user.uid[0]) }}">
|
2022-04-05 15:16:09 +00:00
|
|
|
<i class="id card icon"></i>
|
|
|
|
{% trans %}My profile{% endtrans %}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
2021-12-20 22:57:27 +00:00
|
|
|
{% if user.can_use_oidc %}
|
|
|
|
<a class="item {% if menuitem == "consents" %}active{% endif %}"
|
2023-03-14 11:08:37 +00:00
|
|
|
href="{{ url_for('oidc.consents.consents') }}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<i class="handshake icon"></i>
|
|
|
|
{% trans %}My consents{% endtrans %}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
{% if user.can_manage_users %}
|
|
|
|
<a class="item {% if menuitem == "users" %}active{% endif %}"
|
2023-03-14 11:08:37 +00:00
|
|
|
href="{{ url_for('account.users') }}">
|
2022-12-09 23:58:09 +00:00
|
|
|
<i class="address book icon"></i>
|
2021-12-20 22:57:27 +00:00
|
|
|
{% trans %}Users{% endtrans %}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
{% if user.can_manage_groups %}
|
|
|
|
<a class="item {% if menuitem == "groups" %}active{% endif %}"
|
2023-03-14 11:08:37 +00:00
|
|
|
href="{{ url_for('groups.groups') }}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<i class="users icon"></i>
|
|
|
|
{% trans %}Groups{% endtrans %}
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
{% if user.can_manage_oidc %}
|
2022-02-25 12:58:35 +00:00
|
|
|
<div class="ui dropdown item {% if menuitem == "admin" %}dropdown-active{% endif %}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<i class="settings icon"></i>
|
2023-03-09 16:28:09 +00:00
|
|
|
{% trans %}Admin{% endtrans %}
|
2021-12-20 22:57:27 +00:00
|
|
|
<div class="menu">
|
2022-01-11 18:49:06 +00:00
|
|
|
<a class="item" href="{{ url_for('oidc.clients.index') }}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<i class="plug icon"></i>
|
|
|
|
{% trans %}Clients{% endtrans %}
|
|
|
|
</a>
|
2022-01-11 18:49:06 +00:00
|
|
|
<a class="item" href="{{ url_for('oidc.tokens.index') }}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<i class="key icon"></i>
|
|
|
|
{% trans %}Tokens{% endtrans %}
|
|
|
|
</a>
|
2022-01-11 18:49:06 +00:00
|
|
|
<a class="item" href="{{ url_for('oidc.authorizations.index') }}">
|
2021-12-20 22:57:27 +00:00
|
|
|
<i class="user secret icon"></i>
|
|
|
|
{% trans %}Codes{% endtrans %}
|
|
|
|
</a>
|
2022-01-11 20:11:54 +00:00
|
|
|
<a class="item" href="{{ url_for('admin.mail_index') }}">
|
2021-12-23 18:21:29 +00:00
|
|
|
<i class="user mail icon"></i>
|
|
|
|
{% trans %}Emails{% endtrans %}
|
|
|
|
</a>
|
2021-12-20 22:57:27 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
<a class="item" href="{{ url_for('account.logout') }}">
|
|
|
|
<i class="sign out alternate icon"></i>
|
|
|
|
{% trans %}Log out{% endtrans %}
|
|
|
|
</a>
|
|
|
|
</nav>
|
2020-11-01 10:33:56 +00:00
|
|
|
{% endif %}
|
2021-12-20 22:57:27 +00:00
|
|
|
{% endblock %}
|
2020-10-21 09:30:26 +00:00
|
|
|
|
2022-12-27 23:45:34 +00:00
|
|
|
{% block container %}
|
|
|
|
<div class="ui container">
|
|
|
|
<div class="content">
|
|
|
|
{{ flask.messages() }}
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
</div>
|
2021-12-20 22:57:27 +00:00
|
|
|
</div>
|
2022-12-27 23:45:34 +00:00
|
|
|
{% endblock %}
|
2020-11-13 09:45:01 +00:00
|
|
|
|
2021-12-20 22:57:27 +00:00
|
|
|
<footer>
|
2023-01-30 18:56:58 +00:00
|
|
|
<a href="{{ url_for('account.about') }}">{{ _("About Canaille") }}</a>
|
2021-12-20 22:57:27 +00:00
|
|
|
</footer>
|
|
|
|
<script src="/static/jquery/jquery.min.js"></script>
|
|
|
|
<script src="/static/fomanticui/semantic.min.js"></script>
|
2023-03-09 16:41:26 +00:00
|
|
|
<script src="/static/htmx/htmx.min.js"></script>
|
2021-12-20 22:57:27 +00:00
|
|
|
<script src="/static/js/base.js"></script>
|
2023-03-09 16:41:26 +00:00
|
|
|
<script>
|
|
|
|
htmx.config.requestClass = "loading"
|
|
|
|
</script>
|
2021-12-20 22:57:27 +00:00
|
|
|
{% block script %}{% endblock %}
|
|
|
|
</body>
|
2020-08-17 09:53:30 +00:00
|
|
|
</html>
|