8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-23 15:33:45 +00:00

Merge branch 'new_user_page' into 'master'

New user page

See merge request federez/re2o!95
This commit is contained in:
chirac 2018-03-18 00:57:26 +01:00
commit 1fe2601d78
2 changed files with 368 additions and 200 deletions

View file

@ -237,6 +237,7 @@ install_base=$(dialog --clear \
$HEIGHT $WIDTH \
2>&1 >/dev/tty)
echo "Installation des paquets de base"
apt-get -y install python3-django python3-dateutil texlive-latex-base texlive-fonts-recommended python3-djangorestframework python3-django-reversion python3-pip libsasl2-dev libldap2-dev libssl-dev python3-crypto
pip3 install django-bootstrap3
pip3 install django-ldapdb

View file

@ -26,208 +26,375 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% load bootstrap3 %}
{% load acl %}
{% block title %}Profil{% endblock %}
{% block content %}
<h2>{{ users.class_name }} : {{ users.surname }} {{users.name}}</h2>
<div>
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:edit-info' users.id %}">
<i class="fa fa-edit"></i>
Editer
</a>
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:password' users.id %}">
<i class="fa fa-lock"></i>
Changer le mot de passe
</a>
{% can_change User state %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:state' users.id %}">
<i class="fa fa-id-badge"></i>
Changer le statut
</a>
{% acl_end %}
{% can_change User groups %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:groups' users.id %}">
<i class="fa fa-check"></i>
Gérer les groupes
</a>
{% acl_end %}
<a class="btn btn-info btn-sm" role="button" href="{% url 'users:history' 'user' users.id %}">
<i class="fa fa-history"></i>
Historique
</a>
</div>
<p>
<br />
</p>
<table class="table table-striped">
<tr>
{% if users.is_class_club %}
<th>Mailing</th>
{% if users.club.mailing %}
<td>{{ users.pseudo }}(-admin)</td>
{% else %}
<td>Mailing désactivée</td>
{% endif %}
{% else %}
<th>Prénom</th>
<td>{{ users.name }}</td>
{% endif %}
<th>Nom</th>
<td>{{ users.surname }}</td>
</tr>
<tr>
<th>Pseudo</th>
<td>{{ users.pseudo }}</td>
<th>E-mail</th>
<td>{{ users.email }}</td>
</tr>
<tr>
<th>Chambre</th>
<td>{{ users.room }}</td>
<th>Téléphone</th>
<td>{{ users.telephone }}</td>
</tr>
<tr>
<th>École</th>
<td>{{ users.school }}</td>
<th>Commentaire</th>
<td>{{ users.comment }}</td>
</tr>
<tr>
<th>Date d'inscription</th>
<td>{{ users.registered }}</td>
<th>Dernière connexion</th>
<td>{{ users.last_login }}</td>
</tr>
<tr>
<th>Fin d'adhésion</th>
{% if users.end_adhesion != None %}
<td><i class="text-success">{{ users.end_adhesion }}</i></td>
{% else %}
<td><i class="text-danger">Non adhérent</i></td>
{% endif %}
<th>Accès gracieux</th>
{% if users.end_whitelist != None %}
<td><i class="text-success">{{ users.end_whitelist }}</i></td>
{% else %}
<td><i class="text-warning">Aucun</i></td>
{% endif %}
<tr>
<th>Bannissement</th>
{% if users.end_ban != None %}
<td><i class="text-danger">{{ users.end_ban }}</i></td>
{% else %}
<td><i class="text-success">Non banni</i></td>
{% endif %}
<th>Statut</th>
{% if users.state == 0 %}
<td><i class="text-success">Actif</i></td>
{% elif users.state == 1 %}
<td><i class="text-danger">Désactivé</i></td>
{% else %}
<td><i class="text-warning">Archivé</i></td>
{% endif %}
</tr>
<tr>
<th>Accès internet</th>
{% if users.has_access == True %}
<td><i class="text-success">Actif (jusqu'au {{ users.end_access }})</i></td>
{% else %}
<td><i class="text-danger">Désactivé</i></td>
{% endif %}
<th>Groupes</th>
{% if users.groups.all %}
<td>{{ users.groups.all|join:", "}}</td>
{% else %}
<td>Aucun</td>
{% endif %}
</tr>
{% if allow_online_payment %}
<tr>
<th>Solde</th>
<td>{{ users.solde }} €
<a class="btn btn-primary btn-sm" style='float:right' role="button" href="{% url 'cotisations:recharge' %}">
<i class="fa fa-euro-sign"></i>
Recharger
<h2>{{ users.surname }} {{users.name}}</h2>
<p>Vous êtes {% if users.end_adhesion != None %}<span class="label label-success">
un {{ users.class_name | lower}}</span>{% else %}<span class="label label-danger">
non adhérent</span>{% endif %} et votre connexion est {% if users.has_access %}
<span class="label label-success">active</span>{% else %}<span class="label label-danger">désactivée</span>{% endif %}.</p>
{% if user_solde %}
<p>Votre solde est de <span class="badge">{{ user.solde }}€</span>.
{% if allow_online_payment %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'cotisations:recharge' %}">
<i class="fa fa-euro-sign"></i>
Recharger
</a>
{% endif %}
</p>
{% endif %}
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading clearfix" data-parent="#accordion" data-toggle="collapse" data-target="#collapse1">
<h3 class="panel-title pull-left" >
<i class="fa fa-user"></i> Informations détaillées
</h3>
<div class="dropdown pull-right">
<a class="btn btn-default btn-sm" id="editionuser" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-edit"></i> <span class="caret"></span>
</a>
</td>
{% endif %}
{% if users.shell %}
<th>Shell</th>
<td>{{ users.shell }}</td>
{% endif %}
</tr>
</table>
<ul class="dropdown-menu" arialabelledby="editionuser">
<li>
<a href="{% url 'users:edit-info' users.id %}">
<i class="fa fa-edit"></i>
Editer
</a>
</li>
<li>
<a href="{% url 'users:password' users.id %}">
<i class="fa fa-lock"></i>
Changer le mot de passe
</a>
</li>
{% can_change User state %}
<li>
<a href="{% url 'users:state' users.id %}">
<i class="fa fa-id-badge"></i>
Changer le statut
</a>
</li>
{% acl_end %}
{% can_change User groups %}
<li>
<a href="{% url 'users:groups' users.id %}">
<i class="fa fa-check"></i>
Gérer les groupes
</a>
</li>
{% acl_end %}
<li>
<a href="{% url 'users:history' 'user' users.id %}">
<i class="fa fa-history"></i>
Historique
</a>
</li>
</ul>
</div>
</div>
<div class="panel-collapse collapse in" id="collapse1">
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped">
<tr>
<th>Prénom</th>
<td>{{ users.name }}</td>
<th>Nom</th>
<td>{{ users.surname }}</td>
</tr>
<tr>
<th>Pseudo</th>
<td>{{ users.pseudo }}</td>
<th>E-mail</th>
<td>{{ users.email }}</td>
</tr>
<tr>
<th>Chambre</th>
<td>{{ users.room }}</td>
<th>Téléphone</th>
<td>{{ users.telephone }}</td>
</tr>
<tr>
<th>École</th>
<td>{{ users.school }}</td>
<th>Commentaire</th>
<td>{{ users.comment }}</td>
</tr>
<tr>
<th>Date d'inscription</th>
<td>{{ users.registered }}</td>
<th>Dernière connexion</th>
<td>{{ users.last_login }}</td>
</tr>
<tr>
<th>Fin d'adhésion</th>
{% if users.end_adhesion != None %}
<td><i class="text-success">{{ users.end_adhesion }}</i></td>
{% else %}
<td><i class="text-danger">Non adhérent</i></td>
{% endif %}
<th>Accès gracieux</th>
{% if users.end_whitelist != None %}
<td><i class="text-success">{{ users.end_whitelist }}</i></td>
{% else %}
<td><i class="text-warning">Aucun</i></td>
{% endif %}
<tr>
<th>Bannissement</th>
{% if users.end_ban != None %}
<td><i class="text-danger">{{ users.end_ban }}</i></td>
{% else %}
<td><i class="text-success">Non banni</i></td>
{% endif %}
<th>Statut</th>
{% if users.state == 0 %}
<td><i class="text-success">Actif</i></td>
{% elif users.state == 1 %}
<td><i class="text-danger">Désactivé</i></td>
{% else %}
<td><i class="text-warning">Archivé</i></td>
{% endif %}
</tr>
<tr>
<th>Accès internet</th>
{% if users.has_access == True %}
<td><i class="text-success">Actif (jusqu'au {{ users.end_access }})</i></td>
{% else %}
<td><i class="text-danger">Désactivé</i></td>
{% endif %}
<th>Groupes</th>
{% if users.groups.all %}
<td>{{ users.groups.all|join:", "}}</td>
{% else %}
<td>Aucun</td>
{% endif %}
</tr>
{% if allow_online_payment %}
<tr>
<th>Solde</th>
<td>{{ users.solde }} €
<a class="btn btn-primary btn-sm" style='float:right' role="button" href="{% url 'cotisations:recharge' %}">
<i class="fa fa-euro-sign"></i>
Recharger
</a>
</td>
{% endif %}
{% if users.shell %}
<th>Shell</th>
<td>{{ users.shell }}</td>
{% endif %}
</tr>
</table>
</div>
</div>
</div>
</div>
{% if users.is_class_club %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:edit-club-admin-members' users.club.id %}">
<i class="fa fa-lock"></i>
Gérer admin et membres
</a>
<h3>Administrateurs du club</h3>
<table class="table table-striped">
<thead>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>Pseudo</th>
</tr>
</thead>
{% for admin in users.club.administrators.all %}
<tr>
<td>{{ admin.surname }}</td>
<td>{{ admin.name }}</td>
<td>{{ admin.pseudo }}</td>
</tr>
{% endfor %}
</table>
<h3>Membres</h3>
<table class="table table-striped">
<thead>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>Pseudo</th>
</tr>
</thead>
{% for admin in users.club.members.all %}
<tr>
<td>{{ admin.surname }}</td>
<td>{{ admin.name }}</td>
<td>{{ admin.pseudo }}</td>
</tr>
{% endfor %}
</table>
<div class="panel panel-default">
<div class="panel-heading clearfix" data-parent="#accordion" data-toggle="collapse" data-target="#collapse2">
<h3 class="panel-title pull-left">
<i class="fa fa-users"></i> Gérer le club
</h3>
<div class="dropdown pull-right">
<a class="btn btn-default btn-sm" id="editionclub" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-edit"></i> <span class="caret"></span>
</a>
<ul class="dropdown-menu" arialabelledby="editionclub">
<li>
<a href="{% url 'users:edit-club-admin-members' users.club.id %}">
<i class="fa fa-lock"></i>
Gérer admin et membres
</a>
</li>
</ul>
</div>
</div>
<div class="panel-collapse collapse" id="collapse2">
<div class="panel-body">
<h4>Administrateurs du club</h4>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>Pseudo</th>
</tr>
</thead>
{% for admin in users.club.administrators.all %}
<tr>
<td>{{ admin.surname }}</td>
<td>{{ admin.name }}</td>
<td>{{ admin.pseudo }}</td>
</tr>
{% endfor %}
</table>
</div>
<h4>Membres</h4>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Nom</th>
<th>Prenom</th>
<th>Pseudo</th>
</tr>
</thead>
{% for admin in users.club.members.all %}
<tr>
<td>{{ admin.surname }}</td>
<td>{{ admin.name }}</td>
<td>{{ admin.pseudo }}</td>
</tr>
{% endfor %}
</table>
</div>
</div>
</div>
</div>
{% endif %}
<h2>Machines</h2>
{% can_create Machine users.id %}
<h4><a class="btn btn-primary btn-sm" role="button" href="{% url 'machines:new-machine' users.id %}"><i class="fa fa-desktop"></i> Ajouter une machine</a></h4>
{% acl_end %}
{% if machines_list %}
{% include "machines/aff_machines.html" with machines_list=machines_list %}
{% else %}
<p>Aucune machine</p>
{% endif %}
<h2>Cotisations</h2>
<h4>{% can_create Facture %}<a class="btn btn-primary btn-sm" role="button" href="{% url 'cotisations:new-facture' users.id %}"><i class="fa fa-euro-sign"></i> Ajouter une cotisation</a> {% if user_solde %}<a class="btn btn-primary btn-sm" role="button" href="{% url 'cotisations:credit-solde' users.id %}"><i class="fa fa-euro-sign"></i> Modifier le solde</a>{% endif%}{% acl_else %}{% if user_solde %}<a class="btn btn-primary btn-sm" role="button" href="{% url 'cotisations:new_facture_solde' user.id %}"><i class="fa fa-euro-sign"></i> Ajouter une cotisation par solde</a>{% endif %}{% acl_end %}</h4>
{% if facture_list %}
{% include "cotisations/aff_cotisations.html" with facture_list=facture_list %}
{% else %}
<p>Aucune facture</p>
{% endif %}
<h2>Bannissements</h2>
{% can_create Ban %}<h4><a class="btn btn-primary btn-sm" role="button" href="{% url 'users:add-ban' users.id %}"><i class="fa fa-ban"></i> Ajouter un bannissement</a></h4>{% acl_end %}
{% if ban_list %}
{% include "users/aff_bans.html" with ban_list=ban_list %}
{% else %}
<p>Aucun bannissement</p>
{% endif %}
<h2>Accès à titre gracieux :</h2>
{% can_create Whitelist %}<h4><a class="btn btn-primary btn-sm" role="button" href="{% url 'users:add-whitelist' users.id %}"><i class="fa fa-check-circle"></i> Accorder un accès à titre gracieux</a></h4>{% acl_end %}
{% if white_list %}
{% include "users/aff_whitelists.html" with white_list=white_list %}
{% else %}
<p>Aucun accès gracieux</p>
{% endif %}
<br />
<br />
<br />
<div class="panel panel-default">
<div class="panel-heading clearfix" data-parent="#accordion" data-toggle="collapse" data-target="#collapse3">
<h3 class="panel-title pull-left">
<i class="fa fa-desktop"></i>
Machines
<span class="badge">{{machines_list.count}}</span>
</h3>
<div class="dropdown pull-right">
<a class="btn btn-default btn-sm" id="editionmachines" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-edit"></i> <span class="caret"></span>
</a>
<ul class="dropdown-menu" arialabelledby="editionmachines">
<li>
<a href="{% url 'machines:new-machine' users.id %}">
<i class="fa fa-desktop"></i>
Ajouter une machine
</a>
</li>
</ul>
</div>
</div>
<div id="collapse3" class="panel-collapse collapse">
<div class="panel-body">
{% if machines_list %}
{% include "machines/aff_machines.html" with machines_list=machines_list %}
{% else %}
<p>Aucune machine</p>
{% endif %}
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading clearfix" data-parent="#accordion" data-toggle="collapse" data-target="#collapse4">
<h3 class="panel-title pull-left">
<i class="fa fa-euro-sign"></i>
Cotisations
</h3>
<div class="dropdown pull-right">
<a class="btn btn-default btn-sm" id="editionfacture" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-edit"></i> <span class="caret"></span>
</a>
<ul class="dropdown-menu" arialabelledby="editionfacture">
{% can_create Facture %}
<li>
<a href="{% url 'cotisations:new-facture' users.id %}">
<i class="fa fa-euro-sign"></i>
Ajouter une cotisation
</a>
</li>
{% if user_solde %}
<li>
<a href="{% url 'cotisations:credit-solde' users.id %}">
<i class="fa fa-euro-sign"></i>
Modifier le solde
</a>
</li>
{% endif%}{% acl_else %}
{% if user_solde %}
<li>
<a href="{% url 'cotisations:new_facture_solde' user.id %}">
<i class="fa fa-euro-sign"></i>
Ajouter une cotisation par solde</a>{% endif %}{% acl_end %}
</a>
</li>
</ul>
</div>
</div>
<div id="collapse4" class="panel-collapse collapse">
<div class="panel-body">
{% if facture_list %}
{% include "cotisations/aff_cotisations.html" with facture_list=facture_list %}
{% else %}
<p>Aucune facture</p>
{% endif %}
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading clearfix" data-parent="#accordion" data-toggle="collapse" data-target="#collapse5">
<h3 class="panel-title pull-left">
<i class="fa fa-ban"></i>
Bannissements
</h3>
<div class="dropdown pull-right">
<a class="btn btn-default btn-sm" id="editionban" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-edit"></i> <span class="caret"></span>
</a>
<ul class="dropdown-menu" arialabelledby="editionban">
{% can_create Ban %}
<li>
<a href="{% url 'users:add-ban' users.id %}">
<i class="fa fa-ban"></i>
Ajouter un bannissement
</a>
</li>
{% acl_end %}
</ul>
</div>
</div>
<div id="collapse5" class="panel-collapse collapse">
<div class="panel-body">
{% if ban_list %}
{% include "users/aff_bans.html" with ban_list=ban_list %}
{% else %}
<p>Aucun bannissement</p>
{% endif %}
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading clearfix" data-parent="#accordion" data-toggle="collapse" data-target="#collapse6">
<h3 class="panel-title pull-left">
<i class="fa fa-check-circle"></i>
Accès à titre gracieux
</h3>
<div class="dropdown pull-right">
<a class="btn btn-default btn-sm" id="editionwhitelist" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="fa fa-edit"></i> <span class="caret"></span>
</a>
<ul class="dropdown-menu" arialabelledby="editionwhitelist">
{% can_create Whitelist %}
<li>
<a href="{% url 'users:add-whitelist' users.id %}">
<i class="fa fa-check-circle"></i>
Accorder un accès à titre gracieux
</a>
</li>
{% acl_end %}
</ul>
</div>
</div>
<div id="collapse6" class="panel-collapse collapse">
<div class="panel-body">
{% if white_list %}
{% include "users/aff_whitelists.html" with white_list=white_list %}
{% else %}
<p>Aucun accès gracieux</p>
{% endif %}
</div>
</div>
</div>
</div>
<br />
<br />
<br />
{% endblock %}