mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-09-12 01:03:09 +00:00
![Alexandre Iooss](/assets/img/avatar_default.png)
* Rather than using href="\\host/about/" in page footer, use href="protocol://host/about/" * The old footer uses hacks to be staticly on the bottom. To make it much simpler one solution is to turn it white and use official Bootstrap code. This leads to less CSS to maintain and better cross-browser compatibility. * On re2o about page (/about/) there is some typos such as : * assocations > associations * legitlab > le gitlab * Use Bootstrap navbar-static-top rather than custom CSS. The result is the same, so we should be better using directly Bootstrap CSS.
278 lines
15 KiB
HTML
278 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." %}" />
|
|
<script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
|
|
|
|
{# Load CSS and JavaScript #}
|
|
{% bootstrap_css %}
|
|
<link href="/static/css/typeaheadjs.css" rel="stylesheet">
|
|
<link href="/static/css/bootstrap-tokenfield.css" rel="stylesheet">
|
|
|
|
{% bootstrap_javascript %}
|
|
<script src="/static/js/typeahead/typeahead.js"></script>
|
|
<script src="/static/js/handlebars/handlebars.js"></script>
|
|
<script src="/static/js/konami/konami.js"></script>
|
|
<script src="/static/js/sapphire.js"> var s=Sapphire(); Konami(s.activate); </script>
|
|
<script src="/static/js/bootstrap-tokenfield/bootstrap-tokenfield.js"></script>
|
|
<script src="/static/js/shortcuts.js"></script>
|
|
<link rel="stylesheet" href="{% static 'css/base.css' %}">
|
|
<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>
|
|
<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-dollar-sign"></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-chart-area"></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="fas 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="fas 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-alt"></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-alt"></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">
|
|
<div class="panel panel-default">
|
|
<div class="text-left list-group">
|
|
{% block sidebar %}
|
|
{% endblock %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-8 text-left">
|
|
{# Display django.contrib.messages as Bootstrap alerts #}
|
|
{% bootstrap_messages %}
|
|
<hr>
|
|
{% block content %}{% endblock %}
|
|
</div>
|
|
<div class="col-sm-2 sidenav">
|
|
<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 %}
|
|
<p>{% trans "You are not logged in." %}</p>
|
|
{% 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>
|
|
|
|
{# Read the documentation for more information #}
|
|
</body>
|
|
</html>
|
|
|