8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-25 08:23:46 +00:00
re2o/templates/base.html

263 lines
15 KiB
HTML
Raw Normal View History

{% 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 %}
2016-06-30 23:46:14 +00:00
{% load staticfiles %}
{# Load the tag library #}
{% load bootstrap3 %}
2017-12-28 15:00:37 +00:00
{% load acl %}
2018-01-14 22:47:44 +00:00
{% load self_adhesion %}
2018-04-10 22:07:26 +00:00
{% load i18n %}
2018-01-14 22:47:44 +00:00
{% self_adhesion as var_sa %}
2016-06-30 23:46:14 +00:00
<!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="Site de gestion de réseau supporté par FedeRez." />
<script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
2016-06-30 23:46:14 +00:00
{# Load CSS and JavaScript #}
{% bootstrap_css %}
2018-04-10 22:07:26 +00:00
<link href="/static/css/typeaheadjs.css" rel="stylesheet">
<link href="/static/css/bootstrap-tokenfield.css" rel="stylesheet">
2016-06-30 23:46:14 +00:00
{% bootstrap_javascript %}
2018-04-10 22:07:26 +00:00
<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' %}">
2016-07-19 18:52:39 +00:00
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/svg" href="{% static 'images/logo_re2o.svg' %}">
2018-06-23 17:12:32 +00:00
<title>{{ name_website }} : {% block title %}{% trans "Home" %}{% endblock %}</title>
2016-06-30 23:46:14 +00:00
</head>
<body>
2016-07-09 15:16:44 +00:00
<div id="wrap">
<nav class="navbar navbar-inverse">
<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>
2016-07-09 15:16:44 +00:00
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
{% if request.user.is_authenticated %}
2018-03-06 16:04:57 +00:00
<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">
2018-06-23 17:12:32 +00:00
<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>
2018-03-06 16:04:57 +00:00
</ul>
</li>
{% endif %}
2018-03-06 15:38:47 +00:00
{% can_view_any_app users machines cotisations %}
<li class="dropdown">
2018-06-23 17:12:32 +00:00
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-users"></i> {% trans "Members" %}<span class="caret"></span></a>
2018-03-06 15:38:47 +00:00
<ul class="dropdown-menu">
{% can_view_app users %}
2018-06-23 17:12:32 +00:00
<li><a href="{% url 'users:index' %}"><i class="fa fa-user"></i> {% trans "Manage members" %}</a></li>
<li><a href="{% url 'users:index-clubs' %}"><i class="fa fa-users"></i> {% trans "Manage clubs" %}</a></li>
2018-03-27 22:10:10 +00:00
{% acl_end %}
2018-04-10 22:07:26 +00:00
{% can_view_app machines %}
2018-06-23 17:12:32 +00:00
<li><a href="{% url 'machines:index' %}"><i class="fa fa-desktop"></i> {% trans "Manage machines" %}</a></li>
2018-03-06 15:38:47 +00:00
{% acl_end %}
{% can_view_app cotisations %}
2018-06-23 17:12:32 +00:00
<li><a href="{% url 'cotisations:index' %}"><i class="fa fa-dollar-sign"></i> {% trans "Manage cotisations" %}</a></li>
2018-03-06 15:38:47 +00:00
{% acl_end %}
</ul>
</li>
2017-12-28 15:00:37 +00:00
{% acl_end %}
{% can_view_app topologie %}
2018-03-27 22:10:10 +00:00
<li class="dropdown">
2018-06-23 17:12:32 +00:00
<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>
2018-03-27 22:10:10 +00:00
<ul class="dropdown-menu">
2018-06-23 17:12:32 +00:00
<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 "Wi-Fi access points" %}</a></li>
<li><a href="{% url "topologie:index-room" %}"><i class="fa fa-home"></i> {% trans "Rooms" %}</a></li>
2018-04-10 22:07:26 +00:00
</ul>
</li>
2017-12-28 15:00:37 +00:00
{% acl_end %}
2018-06-28 18:20:08 +00:00
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="glyphicon glyphicon-print"></i> Printer<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="{% url "printer:new-job" %}"><i class="fa fa-print"></i> {% trans "Print" %}</a></li>
</ul>
</li>
2017-12-28 15:00:37 +00:00
{% can_view_app logs %}
2018-06-23 17:12:32 +00:00
<li><a href="{% url "logs:index" %}"><i class="fa fa-chart-area"></i> {% trans "Statistics" %}</a></li>
2017-12-28 15:00:37 +00:00
{% acl_end %}
2016-07-09 15:16:44 +00:00
</ul>
2018-04-10 22:07:26 +00:00
<ul class="nav navbar-nav navbar-right">
{% can_view_app preferences %}
<li>
<a href="{% url 'preferences:display-options' %}">
2018-06-23 17:12:32 +00:00
<i class="fa fa-cogs"></i> {% trans "Preferences" %}
2018-04-10 22:07:26 +00:00
</a>
</li>
{% acl_end %}
<li>
2018-04-16 18:07:54 +00:00
<a href="{% url 'about' %}"><i class="fa fa-info-circle"></i> {% trans "About" %}</a>
2018-04-10 22:07:26 +00:00
</li>
{% if not request.user.is_authenticated %}
{% if var_sa %}
<li>
<a href="{% url 'users:new-user' %}">
2018-06-23 17:12:32 +00:00
<i class="fa fa-user-plus"></i> {% trans "Sign in" %}
</a>
2018-04-10 22:07:26 +00:00
</li>
{% endif %}
<li>
2018-06-23 17:12:32 +00:00
<a id="toggle_login" href="{% url 'login' %}">
<i class="fa fa-sign-in-alt"></i> {% trans "Log in" %}
</a>
2018-04-10 22:07:26 +00:00
</li>
{% else %}
<li>
<form action="{% url "search:search"%}" class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="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>
2018-04-16 18:07:54 +00:00
{% endif %}
2018-04-10 22:07:26 +00:00
<li>
2018-04-16 18:07:54 +00:00
{% include 'buttons/setlang.html' %}
2018-04-10 22:07:26 +00:00
</li>
</ul>
</div>
2016-06-30 23:46:14 +00:00
</div>
2016-07-09 15:16:44 +00:00
</nav>
2016-06-30 23:46:14 +00:00
2016-07-09 15:16:44 +00:00
<div id="main" class="container-fluid text-center">
<div class="row content">
<div class="col-sm-2 sidenav">
2016-11-18 10:53:10 +00:00
<div class="panel panel-default">
<div class="text-left list-group">
{% block sidebar %}
{% endblock %}
</div>
</div>
2016-07-09 15:16:44 +00:00
</div>
<div class="col-sm-8 text-left">
{# Display django.contrib.messages as Bootstrap alerts #}
{% bootstrap_messages %}
<hr>
{% block content %}{% endblock %}
2016-06-30 23:46:14 +00:00
</div>
2016-07-09 15:16:44 +00:00
<div class="col-sm-2 sidenav">
2016-11-18 06:13:39 +00:00
<div class="panel panel-default">
2016-07-10 02:14:47 +00:00
{% if request_user.is_authenticated %}
2016-11-18 06:13:39 +00:00
<div class="panel-heading">
<h4>{{ request_user.name }} {{ request_user.surname }}</h4>
</div>
<table class="table">
<tr>
2018-06-23 17:12:32 +00:00
<th scope="row">{% trans "Username" %}</th>
2016-11-18 06:13:39 +00:00
<td class="text-right">{{ request_user.pseudo }}</td>
</tr>
<tr>
2018-06-23 17:12:32 +00:00
<th scope="row">{% trans "Room" %}</th>
2016-11-18 06:13:39 +00:00
<td class="text-right">{{ request_user.room }}</td>
</tr>
<tr>
2018-06-23 17:12:32 +00:00
<th scope="row">{% trans "Connexion" %}</th>
2016-11-18 06:13:39 +00:00
<td class="text-right">
{% if request_user.has_access %}
2018-06-23 17:12:32 +00:00
<i class="text-success">{% blocktrans with request.user.end_access|date:"d b Y" as date %}Until {{ date }}{% endblocktrans %}</i>
2016-11-18 06:13:39 +00:00
{% else %}
2018-06-23 17:12:32 +00:00
<i class="text-danger">{% trans "Deactivated" %}</i>
2016-11-18 06:13:39 +00:00
{% endif %}
</td>
</tr>
<tr>
2018-06-23 17:12:32 +00:00
<th scope="row">{% trans "Membership" %}</th>
2016-11-18 06:13:39 +00:00
<td class="text-right">
{% if request_user.is_adherent %}
2018-06-23 17:12:32 +00:00
<i class="text-success">{% blocktrans with request_user.end_adhesion|date:"d b Y" as date %}Until {{ date }}{% endblocktrans %}</i>
2016-11-18 06:13:39 +00:00
{% else %}
2018-06-23 17:12:32 +00:00
<i class="text-danger">{% trans "Not a member" %}</i>
2016-11-18 06:13:39 +00:00
{% endif %}
</td>
</tr>
</table>
<div class="list-group">
<a class="list-group-item list-group-item-info" role="button"href="{% url "users:mon-profil" %}">
2018-03-06 15:38:47 +00:00
<i class="fa fa-user-circle"></i>
2018-06-23 17:12:32 +00:00
{% trans "See my profile" %}
2016-11-18 06:13:39 +00:00
</a>
</div>
{% else %}
2018-06-23 17:12:32 +00:00
<p>{% trans "You are not logged in" %}</p>
{% endif %}
2016-07-09 15:16:44 +00:00
</div>
2016-07-10 16:29:40 +00:00
{% if request_user.is_authenticated %}
2016-11-18 06:13:39 +00:00
<div class="panel panel-default">
<div class="panel-heading">
2018-06-23 17:12:32 +00:00
<h4>{% blocktrans count interfaces|length as nb %}{{ nb }} machine active{% plural %}{{ nb }} machines active{% endblocktrans %}</h4>
2016-11-18 06:13:39 +00:00
</div>
<ul class="list-group">
{% for interface in interfaces|slice:":5" %}
2016-12-24 19:20:25 +00:00
<div class="list-group-item">{{interface}}</div>
2016-11-18 06:13:39 +00:00
{% 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>
2018-06-23 17:12:32 +00:00
{% trans "See my machines" %}
2016-11-18 06:13:39 +00:00
</a>
{% endif %}
</ul>
2016-07-09 15:16:44 +00:00
</div>
2016-07-10 16:29:40 +00:00
{% endif %}
2016-06-30 23:46:14 +00:00
</div>
</div>
</div>
</div>
2016-07-09 15:16:44 +00:00
<footer class="navbar">
<div class="containerfluid text-center">
2018-04-10 22:07:26 +00:00
<p> <a href="\\{{request.get_host}}/about/">Re2o 2016-2018</a> - Gabriel Détraz, <a href="https://gitlab.rezometz.org/lhark">Goulven Kermarec</a>, Augustin Lemesle, Maël Kervella, Hugo Levy-Falk</p>
</div>
2016-06-30 23:46:14 +00:00
</footer>
{# Read the documentation for more information #}
</body>
</html>