8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-24 16:03:47 +00:00

Fix footer and about

* 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.
This commit is contained in:
Alexandre Iooss 2018-09-18 22:11:25 +02:00 committed by Alexandre IOOSS
parent 1f1063bf06
commit e571751c70
6 changed files with 228 additions and 211 deletions

Binary file not shown.

View file

@ -98,11 +98,11 @@ msgid ""
"to contact us and come help us build the future of Re2o." "to contact us and come help us build the future of Re2o."
msgstr "" msgstr ""
"Re2o est un outil d'administration initié par <a href=\"https://rezometz.org/" "Re2o est un outil d'administration initié par <a href=\"https://rezometz.org/"
"\">Rézo Supélec Metz</a> et quelques membres d'autres assocations de <a href=" "\">Rézo Supélec Metz</a> et quelques membres d'autres associations de <a href="
"\"https://federez.net\">FedeRez</a> autour de l'été 2016.<br /> Il se veut " "\"https://federez.net\">FedeRez</a> autour de l'été 2016.<br /> Il se veut "
"être un outil indépendant de toute infrastructure réseau pour pouvoir être " "être un outil indépendant de toute infrastructure réseau pour pouvoir être "
"installé en \"quelques étapes\". Cet outil est entièrement gratuit et est " "installé en \"quelques étapes\". Cet outil est entièrement gratuit et est "
"disponible sous license GNU Public License v2 (GPLv2) sur le<a href=" "disponible sous licence GNU Public Licence v2 (GPLv2) sur le <a href="
"\"https://gitlab.federez.net/federez/re2o/\">gitlab de FedeRez</a>.<br />\n" "\"https://gitlab.federez.net/federez/re2o/\">gitlab de FedeRez</a>.<br />\n"
"Les mainteneurs de Re2o sont de fiers bénévoles venant principalement " "Les mainteneurs de Re2o sont de fiers bénévoles venant principalement "
"d'écoles d'ingénieurs françaises (mais pas seulement) qui ont donné beaucoup " "d'écoles d'ingénieurs françaises (mais pas seulement) qui ont donné beaucoup "

View file

@ -1,38 +1,16 @@
/* Sticky footer hacks */ /* Footer */
html, body {
height: 100%;
}
#wrap {
min-height: 100%;
}
#main {
overflow: auto;
padding-bottom:60px; /* this needs to be bigger than footer height*/
}
footer { footer {
position: relative; padding-top: 3rem;
margin-top: -50px; /* negative value of footer height */ padding-bottom: 3rem;
height: 50px;
clear:both;
padding-top:20px;
background-color: #222222;
/*background: -webkit-linear-gradient(left, red, red 16.6%, orange 16.6%, orange, orange 33.3%, yellow 33.3%, yellow, yellow 50%, green 50%, green, green 66.6%, blue 66.6%, blue, blue 83.3%, violet 83.3%,violet); */
color: white;
padding: 15px;
} }
footer a { footer p {
color: white; margin-bottom: .25rem;
text-decoration: underline;
} }
/* Remove the navbar's default margin-bottom and rounded borders */ /* Remove the navbar's default margin-bottom */
.navbar { .navbar {
margin-bottom: 0; margin-bottom: 0;
border-radius: 0;
} }
/* Reduce the padding for the logo in the navbar-brand so the 32px-high logo /* Reduce the padding for the logo in the navbar-brand so the 32px-high logo

View file

@ -41,6 +41,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<meta property="og:image:alt" content="The Re2o logo"/> <meta property="og:image:alt" content="The Re2o logo"/>
<meta property="og:description" content="{% trans "Networking managing website endorsed by FedeRez." %}" /> <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> <script defer src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
{# Load CSS and JavaScript #} {# Load CSS and JavaScript #}
{% bootstrap_css %} {% bootstrap_css %}
<link href="/static/css/typeaheadjs.css" rel="stylesheet"> <link href="/static/css/typeaheadjs.css" rel="stylesheet">
@ -60,203 +61,217 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</head> </head>
<body> <body>
<div id="wrap"> <nav class="navbar navbar-inverse navbar-static-top">
<nav class="navbar navbar-inverse"> <div class="container-fluid">
<div class="container-fluid"> <div class="navbar-header">
<div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<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>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> </button>
</button> <a class="navbar-brand" href="/">
<a class="navbar-brand" href="/"> <img src="{% static 'images/logo_re2o_navbar.svg' %}" height=32>
<img src="{% static 'images/logo_re2o_navbar.svg' %}" height=32> {{ name_website }}
{{ name_website }} </a>
</a> </div>
</div> <div class="collapse navbar-collapse" id="myNavbar">
<div class="collapse navbar-collapse" id="myNavbar"> <ul class="nav navbar-nav">
<ul class="nav navbar-nav"> {% can_view_any_app users machines cotisations %}
{% can_view_any_app users machines cotisations %} <li class="dropdown">
<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>
<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">
<ul class="dropdown-menu"> {% can_view_app users %}
{% 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' %}"><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>
<li><a href="{% url 'users:index-clubs' %}"><i class="fa fa-users"></i> {% trans "Manage the clubs" %}</a></li> {% acl_end %}
{% acl_end %} {% can_view_app machines %}
{% can_view_app machines %} <li><a href="{% url 'machines:index' %}"><i class="fa fa-desktop"></i> {% trans "Manage the machines" %}</a></li>
<li><a href="{% url 'machines:index' %}"><i class="fa fa-desktop"></i> {% trans "Manage the machines" %}</a></li> {% acl_end %}
{% acl_end %} {% can_view_app cotisations %}
{% can_view_app cotisations %} <li><a href="{% url 'cotisations:index' %}"><i class="fa fa-dollar-sign"></i> {% trans "Manage the subscriptions" %}</a></li>
<li><a href="{% url 'cotisations:index' %}"><i class="fa fa-dollar-sign"></i> {% trans "Manage the subscriptions" %}</a></li> {% acl_end %}
{% acl_end %} </ul>
</ul> </li>
</li> {% acl_end %}
{% acl_end %} {% can_view_app topologie %}
{% can_view_app topologie %} <li class="dropdown">
<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>
<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">
<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" %}"><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-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>
<li><a href="{% url "topologie:index-room" %}"><i class="fa fa-home"></i> {% trans "Rooms" %}</a></li> </ul>
</ul> </li>
</li> {% acl_end %}
{% acl_end %} {% can_view_app logs %}
{% can_view_app logs %} <li><a href="{% url "logs:index" %}"><i class="fa fa-chart-area"></i> {% trans "Statistics" %}</a></li>
<li><a href="{% url "logs:index" %}"><i class="fa fa-chart-area"></i> {% trans "Statistics" %}</a></li> {% acl_end %}
{% acl_end %} {% can_view_app preferences %}
{% 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> <li>
<a href="{% url 'preferences:display-options' %}"> <a href="{% url 'users:new-user' %}">
<i class="fa fa-cogs"></i> {% trans "Administration" %} <i class="fa fa-user-plus"></i> {% trans "Sign up" %}
</a> </a>
</li> </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 %} {% endif %}
<li> <li>
{% include 'buttons/setlang.html' %} <a id="toggle_login" href="{% url 'login' %}">
<i class="fa fa-sign-in-alt"></i> {% trans "Log in" %}
</a>
</li> </li>
</ul> {% 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> </div>
</nav> <div class="col-sm-8 text-left">
{# Display django.contrib.messages as Bootstrap alerts #}
<div id="main" class="container-fluid text-center"> {% bootstrap_messages %}
<div class="row content"> <hr>
<div class="col-sm-2 sidenav"> {% block content %}{% endblock %}
<div class="panel panel-default"> </div>
<div class="text-left list-group"> <div class="col-sm-2 sidenav">
{% block sidebar %} <div class="panel panel-default">
{% 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 %} {% if request_user.is_authenticated %}
<div class="panel panel-default"> <div class="panel-heading">
<div class="panel-heading"> <h4>{{ request_user.name }} {{ request_user.surname }}</h4>
<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> </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 %} {% endif %}
</div> </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> </div>
</div> </div>
<footer class="navbar"> <footer class="text-muted">
<div class="containerfluid text-center"> <div class="container">
<p> <a href="\\{{request.get_host}}/about/">Re2o 2016-2018</a> </p> <p class="pull-right">
<a href="#">{% trans "Back to top" %}</a>
</p>
<p>{{ name_website }} {% trans "powered by" %} Re2o 2016&ndash;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> </div>
</footer> </footer>
{# Read the documentation for more information #} {# Read the documentation for more information #}
</body> </body>
</html> </html>

View file

@ -82,11 +82,11 @@ msgstr "Statistiques"
msgid "Administration" msgid "Administration"
msgstr "Administration" msgstr "Administration"
#: base.html:119 #: base.html:112
msgid "More information" msgid "More information"
msgstr "Plus d'informations" msgstr "Plus d'informations"
#: base.html:121 #: base.html:114
msgid "About" msgid "About"
msgstr "À propos" msgstr "À propos"
@ -162,6 +162,30 @@ msgstr[1] "%(nb)s machines actives"
msgid "View my machines" msgid "View my machines"
msgstr "Voir mes machines" msgstr "Voir mes machines"
#: base.html:257
msgid "Back to top"
msgstr "Retour en haut"
#: base.html:259
msgid "powered by"
msgstr "propulsé par"
#: base.html:261
msgid "Brought to you with <i class=\"fa fa-heart text-danger\"></i>."
msgstr "Codé avec <i class=\"fa fa-heart text-danger\"></i>."
#: base.html:264
msgid "About this website"
msgstr "À propos de ce site"
#: base.html:267
msgid ""
"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."
msgstr ""
"Ce logiciel est sous les termes de la licence "
"<a href=\"http://www.gnu.org/licenses/gpl-2.0.txt\" target=\"_blank\" rel=\"nofollow\">GPLv2</a>."
#: buttons/add.html:27 #: buttons/add.html:27
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"