mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-25 22:22:26 +00:00
6faa1931c7
It seems this library is useless and might even interfere with Django templates during debug if something isn't rendered properly.
287 lines
15 KiB
HTML
287 lines
15 KiB
HTML
{% comment %}
|
|
Re2o est un logiciel d'administration développé initiallement au rezometz. Il
|
|
se veut agnostique au réseau considéré, de manière à être installable en
|
|
quelques clics.
|
|
|
|
Copyright © 2017 Goulven Kermarec
|
|
Copyright © 2017 Augustin Lemesle
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
{% endcomment %}
|
|
|
|
{% load staticfiles %}
|
|
|
|
{# Load the tag library #}
|
|
{% load bootstrap3 %}
|
|
{% load acl %}
|
|
{% load self_adhesion %}
|
|
{% load i18n %}
|
|
|
|
{% self_adhesion as var_sa %}
|
|
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head prefix="og: http://ogp.me/ns#">
|
|
<meta property="og:title" content="Re2o" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:url" content="{{ request.scheme }}://{{ request.get_host }}/" />
|
|
<meta property="og:image" content="{% static 'images/logo_re2o.svg' %}"/>
|
|
<meta property="og:image:type" content="image/svg"/>
|
|
<meta property="og:image:alt" content="The Re2o logo"/>
|
|
<meta property="og:description" content="{% trans "Networking managing website endorsed by FedeRez." %}" />
|
|
|
|
{# Preload JavaScript #}
|
|
{% bootstrap_javascript %}
|
|
<script src="/static/js/typeahead/typeahead.js"></script>
|
|
<script src="/static/js/bootstrap-tokenfield/bootstrap-tokenfield.js"></script>
|
|
|
|
{# Load CSS #}
|
|
{% bootstrap_css %}
|
|
<link href="{% static 'css/typeaheadjs.css' %}" rel="stylesheet">
|
|
<link href="{% static 'css/bootstrap-tokenfield.css' %}" rel="stylesheet">
|
|
<link href="{% static 'css/font-awesome.min.css' %}" rel="stylesheet">
|
|
<link href="{% static 'css/base.css' %}" rel="stylesheet">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="shortcut icon" type="image/svg" href="{% static 'images/logo_re2o.svg' %}">
|
|
<title>{{ name_website }} : {% block title %}{% trans "Home" %}{% endblock %}</title>
|
|
</head>
|
|
|
|
<body id="main">
|
|
<nav class="navbar navbar-inverse navbar-static-top">
|
|
<div class="container-fluid">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="/">
|
|
<img src="{% static 'images/logo_re2o_navbar.svg' %}" height=32>
|
|
{{ name_website }}
|
|
</a>
|
|
</div>
|
|
<div class="collapse navbar-collapse" id="myNavbar">
|
|
<ul class="nav navbar-nav">
|
|
{% can_view_any_app users machines cotisations %}
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-users"></i> {% trans "Users" %}<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
{% can_view_app users %}
|
|
<li><a href="{% url 'users:index' %}"><i class="fa fa-user"></i> {% trans "Manage the users" %}</a></li>
|
|
<li><a href="{% url 'users:index-clubs' %}"><i class="fa fa-users"></i> {% trans "Manage the clubs" %}</a></li>
|
|
{% acl_end %}
|
|
{% can_view_app machines %}
|
|
<li><a href="{% url 'machines:index' %}"><i class="fa fa-desktop"></i> {% trans "Manage the machines" %}</a></li>
|
|
{% acl_end %}
|
|
{% can_view_app cotisations %}
|
|
<li><a href="{% url 'cotisations:index' %}"><i class="fa fa-eur"></i> {% trans "Manage the subscriptions" %}</a></li>
|
|
{% acl_end %}
|
|
</ul>
|
|
</li>
|
|
{% acl_end %}
|
|
{% can_view_app topologie %}
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-sitemap"></i> {% trans "Topology" %}<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="{% url "topologie:index" %}"><i class="fa fa-microchip"></i> {% trans "Switches" %}</a></li>
|
|
<li><a href="{% url "topologie:index-ap" %}"><i class="fa fa-wifi"></i> {% trans "Access points" %}</a></li>
|
|
<li><a href="{% url "topologie:index-room" %}"><i class="fa fa-home"></i> {% trans "Rooms" %}</a></li>
|
|
</ul>
|
|
</li>
|
|
{% acl_end %}
|
|
{% can_view_app logs %}
|
|
<li><a href="{% url "logs:index" %}"><i class="fa fa-area-chart"></i> {% trans "Statistics" %}</a></li>
|
|
{% acl_end %}
|
|
{% can_view_app preferences %}
|
|
<li>
|
|
<a href="{% url 'preferences:display-options' %}">
|
|
<i class="fa fa-cogs"></i> {% trans "Administration" %}
|
|
</a>
|
|
</li>
|
|
{% acl_end %}
|
|
</ul>
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-info"></i> {% trans "More information" %}<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="{% url 'about' %}"><i class="fa fa-info-circle"></i> {% trans "About" %}</a></li>
|
|
<li><a href="{% url 'contact' %}"><i class="fa fa-at"></i> {% trans "Contact" %}</a></li>
|
|
</ul>
|
|
</li>
|
|
{% if not request.user.is_authenticated %}
|
|
{% if var_sa %}
|
|
<li>
|
|
<a href="{% url 'users:new-user' %}">
|
|
<i class="fa fa-user-plus"></i> {% trans "Sign up" %}
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
<a id="toggle_login" href="{% url 'login' %}">
|
|
<i class="fa fa-sign-in"></i> {% trans "Log in" %}
|
|
</a>
|
|
</li>
|
|
{% else %}
|
|
{% can_view_any_app users machines cotisations %}
|
|
<li>
|
|
<form action="{% url "search:search"%}" class="navbar-form" role="search">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control" placeholder="{% trans "Search" %}" name="q" id="search-term" {% if search_term %}value="{{ search_term }}"{% endif %}>
|
|
<div class="input-group-btn">
|
|
<button class="btn btn-default" type="submit"><i class="fa fa-search"></i></button>
|
|
<a href="{% url "search:searchp" %}" class="btn btn-default" role="button"><i class="fa fa-plus"></i></a>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</li>
|
|
{% acl_end %}
|
|
{% endif %}
|
|
{% if request.user.is_authenticated %}
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user-circle"></i> {{ request.user.pseudo|slice:":15" }} <span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="{% url "users:mon-profil" %}"><i class="fa fa-user"></i> {% trans "My profile" %}</a></li>
|
|
<li><a id="toggle_login" href="{% url 'logout' %}"><i class="fa fa-sign-out"></i> {% trans "Log out" %}</a></li>
|
|
</ul>
|
|
</li>
|
|
{% endif %}
|
|
<li>
|
|
{% include 'buttons/setlang.html' %}
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<div class="container-fluid text-center">
|
|
<div class="row content">
|
|
<div class="col-sm-2 sidenav pt4">
|
|
<div class="panel panel-default">
|
|
<div class="text-left list-group">
|
|
{% block sidebar %}
|
|
{% endblock %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-8 text-left pt4">
|
|
{# Display django.contrib.messages as Bootstrap alerts #}
|
|
{% bootstrap_messages %}
|
|
{% block content %}{% endblock %}
|
|
</div>
|
|
<div class="col-sm-2 sidenav pt4">
|
|
<div class="panel panel-default">
|
|
{% if request_user.is_authenticated %}
|
|
<div class="panel-heading">
|
|
<h4>{{ request_user.name }} {{ request_user.surname }}</h4>
|
|
</div>
|
|
<table class="table">
|
|
<tr>
|
|
<th scope="row">{% trans "Username" %}</th>
|
|
<td class="text-right">{{ request_user.pseudo }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Room" %}</th>
|
|
<td class="text-right">{{ request_user.room }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Internet access" %}</th>
|
|
<td class="text-right">
|
|
{% if request_user.has_access %}
|
|
<i class="text-success">{% blocktrans with request.user.end_access|date:"d b Y" as date %}Until {{ date }}{% endblocktrans %}</i>
|
|
{% else %}
|
|
<i class="text-danger">{% trans "Disabled" %}</i>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">{% trans "Membership" %}</th>
|
|
<td class="text-right">
|
|
{% if request_user.is_adherent %}
|
|
<i class="text-success">{% blocktrans with request_user.end_adhesion|date:"d b Y" as date %}Until {{ date }}{% endblocktrans %}</i>
|
|
{% else %}
|
|
<i class="text-danger">{% trans "Not a member" %}</i>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div class="list-group">
|
|
<a class="list-group-item list-group-item-info" role="button"href="{% url "users:mon-profil" %}">
|
|
<i class="fa fa-user-circle"></i>
|
|
{% trans "View my profile" %}
|
|
</a>
|
|
</div>
|
|
{% else %}
|
|
<div class="panel-body">
|
|
<p>{% trans "You are not logged in." %}</p>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% if request_user.is_authenticated %}
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<h4>{% blocktrans count interfaces|length as nb %}{{ nb }} active machine{% plural %}{{ nb }} active machines{% endblocktrans %}</h4>
|
|
</div>
|
|
<ul class="list-group">
|
|
{% for interface in interfaces|slice:":5" %}
|
|
<div class="list-group-item">{{interface}}</div>
|
|
{% endfor %}
|
|
{% if interfaces|length > 5 %}
|
|
<a class="list-group-item list-group-item-info" role="button" href="{% url "users:mon-profil" %}">
|
|
<i class="fa fa-plus"></i>
|
|
{% trans "View my machines" %}
|
|
</a>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="text-muted">
|
|
<div class="container">
|
|
<p class="pull-right">
|
|
<a href="#">{% trans "Back to top" %}</a>
|
|
</p>
|
|
<p>{{ name_website }} {% trans "powered by" %} Re2o 2016–2018</p>
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
Brought to you with <i class="fa fa-heart text-danger"></i>.
|
|
{% endblocktrans %}
|
|
<a href="{{ request.scheme }}://{{ request.get_host }}/about/">{% trans "About this website" %}</a>.
|
|
</p>
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
This software is under the terms of the
|
|
<a href="http://www.gnu.org/licenses/gpl-2.0.txt" target="_blank" rel="nofollow">GPLv2</a> License.
|
|
{% endblocktrans %}
|
|
</p>
|
|
</div>
|
|
</footer>
|
|
|
|
{# Load JavaScript #}
|
|
<script src="/static/js/konami/konami.js"></script>
|
|
<script src="/static/js/sapphire.js"></script>
|
|
<script>
|
|
// Konami activate sapphire
|
|
let s = Sapphire();
|
|
Konami(s.activate);
|
|
</script>
|
|
<script src="/static/js/shortcuts.js"></script>
|
|
|
|
{# Read the documentation for more information #}
|
|
</body>
|
|
</html>
|
|
|