mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-23 03:43:12 +00:00
Ajout du profil et de jolis boutons
This commit is contained in:
parent
2630a462f4
commit
64373b600c
16 changed files with 171 additions and 112 deletions
25
cotisations/templates/cotisations/aff_cotisations.html
Normal file
25
cotisations/templates/cotisations/aff_cotisations.html
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Utilisateur</th>
|
||||||
|
<th>Designation</th>
|
||||||
|
<th>Nombre</th>
|
||||||
|
<th>Prix unitaire</th>
|
||||||
|
<th>Moyen de paiement</th>
|
||||||
|
<th>Date</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for facture in facture_list %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ facture.user }}</td>
|
||||||
|
<td>{{ facture.name }}</td>
|
||||||
|
<td>{{ facture.number }}</td>
|
||||||
|
<td>{{ facture.prix }}</td>
|
||||||
|
<td>{{ facture.paiement }}</td>
|
||||||
|
<td>{{ facture.date }}</td>
|
||||||
|
<td><a class="btn btn-primary btn-sm" role="button" href="{% url 'cotisations:edit-facture' facture.id %}"><i class="glyphicon glyphicon-tree-conifer"></i> Editer</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
|
@ -4,29 +4,9 @@
|
||||||
{% block title %}Facture{% endblock %}
|
{% block title %}Facture{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<table class="table table-striped">
|
{% include "cotisations/aff_cotisations.html" with facture_list=facture_list %}
|
||||||
<thead>
|
<br />
|
||||||
<tr>
|
<br />
|
||||||
<th>Utilisateur</th>
|
<br />
|
||||||
<th>Designation</th>
|
|
||||||
<th>Nombre</th>
|
|
||||||
<th>Prix unitaire</th>
|
|
||||||
<th>Moyen de paiement</th>
|
|
||||||
<th>Date</th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
{% for facture in facture_list %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ facture.user }}</td>
|
|
||||||
<td>{{ facture.name }}</td>
|
|
||||||
<td>{{ facture.number }}</td>
|
|
||||||
<td>{{ facture.prix }}</td>
|
|
||||||
<td>{{ facture.paiement }}</td>
|
|
||||||
<td>{{ facture.date }}</td>
|
|
||||||
<td><a href="{% url 'cotisations:edit-facture' facture.id %}">Editer</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -8,3 +8,4 @@ from users.models import User
|
||||||
|
|
||||||
class SearchForm(Form):
|
class SearchForm(Form):
|
||||||
search_field = forms.CharField(label = 'Search', max_length = 100)
|
search_field = forms.CharField(label = 'Search', max_length = 100)
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,12 @@
|
||||||
{% extends "search/sidebar.html" %}
|
{% extends "users/sidebar.html" %}
|
||||||
{% load bootstrap3 %}
|
{% load bootstrap3 %}
|
||||||
|
|
||||||
{% block title %}Utilisateurs{% endblock %}
|
{% block title %}Résultats de la recherche{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if users_list %}
|
{% if users_list %}
|
||||||
<h2>Résultats dans les utilisateurs</h2>
|
<h2>Résultats dans les utilisateurs</h2>
|
||||||
<table class="table table-striped">
|
{% include "users/aff_users.html" with users_list=users_list %}
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Prénom</th>
|
|
||||||
<th>Nom</th>
|
|
||||||
<th>Pseudo</th>
|
|
||||||
<th>Modifier</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
{% for user in users_list %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ user.name }}</td>
|
|
||||||
<td>{{ user.surname }}</td>
|
|
||||||
<td>{{ user.pseudo }}</td>
|
|
||||||
<td><a href="{% url 'users:edit-info' user.id %}">Editer</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endif%}
|
{% endif%}
|
||||||
{% if machine_list %}
|
{% if machine_list %}
|
||||||
<h2>Résultats dans les machines : </h2>
|
<h2>Résultats dans les machines : </h2>
|
||||||
|
@ -42,53 +25,11 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if facture_list %}
|
{% if facture_list %}
|
||||||
<h2>Résultats dans les factures : </h2>
|
<h2>Résultats dans les factures : </h2>
|
||||||
<table class="table table-striped">
|
{% include "cotisations/aff_cotisations.html" with facture_list=facture_list %}
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Utilisateur</th>
|
|
||||||
<th>Designation</th>
|
|
||||||
<th>Nombre</th>
|
|
||||||
<th>Prix unitaire</th>
|
|
||||||
<th>Moyen de paiement</th>
|
|
||||||
<th>Date</th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
{% for facture in facture_list %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ facture.user }}</td>
|
|
||||||
<td>{{ facture.name }}</td>
|
|
||||||
<td>{{ facture.number }}</td>
|
|
||||||
<td>{{ facture.prix }}</td>
|
|
||||||
<td>{{ facture.paiement }}</td>
|
|
||||||
<td>{{ facture.date }}</td>
|
|
||||||
<td><a href="{% url 'cotisations:edit-facture' facture.id %}">Editer</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ban_list %}
|
{% if ban_list %}
|
||||||
<h2>Résultats dans les banissements : </h2>
|
<h2>Résultats dans les banissements : </h2>
|
||||||
<table class="table table-striped">
|
{% include "users/aff_bans.html" with ban_list=ban_list %}
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Utilisateur</th>
|
|
||||||
<th>Raison</th>
|
|
||||||
<th>Date de début</th>
|
|
||||||
<th>Date de fin</th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
{% for ban in ban_list %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ ban.user }}</td>
|
|
||||||
<td>{{ ban.raison }}</td>
|
|
||||||
<td>{{ ban.date_start }}</td>
|
|
||||||
<td>{{ ban.date_end }}</td>
|
|
||||||
<td><a href="{% url 'users:edit-ban' ban.id %}">Editer</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if not ban_list and not machine_list and not users_list and not facture_list%}
|
{% if not ban_list and not machine_list and not users_list and not facture_list%}
|
||||||
<h3>Aucun résultat</h3>
|
<h3>Aucun résultat</h3>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "search/sidebar.html" %}
|
{% extends "users/sidebar.html" %}
|
||||||
{% load bootstrap3 %}
|
{% load bootstrap3 %}
|
||||||
|
|
||||||
{% block title %}Création et modification d'utilisateur{% endblock %}
|
{% block title %}Recherche{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% bootstrap_form_errors searchform %}
|
{% bootstrap_form_errors searchform %}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
21
users/templates/users/aff_bans.html
Normal file
21
users/templates/users/aff_bans.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Utilisateur</th>
|
||||||
|
<th>Raison</th>
|
||||||
|
<th>Date de début</th>
|
||||||
|
<th>Date de fin</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for ban in ban_list %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ ban.user }}</td>
|
||||||
|
<td>{{ ban.raison }}</td>
|
||||||
|
<td>{{ ban.date_start }}</td>
|
||||||
|
<td>{{ ban.date_end }}</td>
|
||||||
|
<td><a class="btn btn-primary btn-sm" role="button" href="{% url 'users:edit-ban' ban.id %}"><i class="glyphicon glyphicon-grain"></i> Editer</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
26
users/templates/users/aff_users.html
Normal file
26
users/templates/users/aff_users.html
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Prénom</th>
|
||||||
|
<th>Nom</th>
|
||||||
|
<th>Pseudo</th>
|
||||||
|
<th>Inscrit le</th>
|
||||||
|
<th>Profil</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
{% for user in users_list %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ user.name }}</td>
|
||||||
|
<td>{{ user.surname }}</td>
|
||||||
|
<td>{{ user.pseudo }}</td>
|
||||||
|
<td>{{ user.registered }}</td>
|
||||||
|
<td><form method="POST" action="{% url "users:profil"%}">
|
||||||
|
{% csrf_token %}
|
||||||
|
<input type="hidden" name="user" id="user" value="{{ user.pseudo }}"></input>
|
||||||
|
<button class="btn btn-primary btn-sm" type="submit"><i class="glyphicon glyphicon-tree-deciduous"></i></button>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
|
@ -4,25 +4,9 @@
|
||||||
{% block title %}Utilisateurs{% endblock %}
|
{% block title %}Utilisateurs{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<table class="table table-striped">
|
{% include "users/aff_users.html" with users_list=users_list %}
|
||||||
<thead>
|
<br />
|
||||||
<tr>
|
<br />
|
||||||
<th>Prénom</th>
|
<br />
|
||||||
<th>Nom</th>
|
|
||||||
<th>Pseudo</th>
|
|
||||||
<th>Inscrit le</th>
|
|
||||||
<th>Modifier</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
{% for user in users_list %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ user.name }}</td>
|
|
||||||
<td>{{ user.surname }}</td>
|
|
||||||
<td>{{ user.pseudo }}</td>
|
|
||||||
<td>{{ user.registered }}</td>
|
|
||||||
<td><a href="{% url 'users:edit-info' user.id %}">Editer</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
63
users/templates/users/profil.html
Normal file
63
users/templates/users/profil.html
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{% extends "users/sidebar.html" %}
|
||||||
|
{% load bootstrap3 %}
|
||||||
|
|
||||||
|
{% block title %}Profil{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h2>Adhérent</h2>
|
||||||
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:edit-info' user.id %}"><i class="glyphicon glyphicon-fire"></i> Editer</a>
|
||||||
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:password' user.id %}"><i class="glyphicon glyphicon-leaf"></i> Changer le mot de passe</a>
|
||||||
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:state' user.id %}"><i class="glyphicon glyphicon-flash"></i> Changer le statut</a>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<table class="table table-striped">
|
||||||
|
<tr>
|
||||||
|
<th>Prénom</th>
|
||||||
|
<td>{{ user.name }}</td>
|
||||||
|
<th>Nom</th>
|
||||||
|
<td>{{ user.surname }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Pseudo</th>
|
||||||
|
<td>{{ user.pseudo }}</td>
|
||||||
|
<th>E-mail</th>
|
||||||
|
<td>{{ user.email }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Ecole</th>
|
||||||
|
<td>{{ user.school }}</td>
|
||||||
|
<th>Promo</th>
|
||||||
|
<td>{{ user.promo }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Chambre</th>
|
||||||
|
<td>{{ user.room }}</td>
|
||||||
|
<th>Date d'inscription</th>
|
||||||
|
<td>{{ user.registered}}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<h2>Machines :</h2>
|
||||||
|
{% if machine_list %}
|
||||||
|
<!-- {% include "machine/aff_machines.html" with machine_list=machine_list } -->
|
||||||
|
{% else %}
|
||||||
|
<p>Aucune machine</p>
|
||||||
|
{% endif %}
|
||||||
|
<h2>Cotisations :</h2>
|
||||||
|
<h4><a class="btn btn-primary btn-sm" role="button" href="{% url 'cotisations:new-facture' user.id %}"><i class="glyphicon glyphicon-piggy-bank"></i> Ajouter une cotisation</a></h4>
|
||||||
|
{% if facture_list %}
|
||||||
|
{% include "cotisations/aff_cotisations.html" with facture_list=facture_list %}
|
||||||
|
{% else %}
|
||||||
|
<p>Aucune facture</p>
|
||||||
|
{% endif %}
|
||||||
|
<h2>Bannissements :</h2>
|
||||||
|
<h4><a class="btn btn-primary btn-sm" role="button" href="{% url 'users:add-ban' user.id %}"><i class="glyphicon glyphicon-tint"></i> Ajouter un bannissement</a></h4>
|
||||||
|
{% if ban_list %}
|
||||||
|
{% include "users/aff_bans.html" with ban_list=ban_list %}
|
||||||
|
{% else %}
|
||||||
|
<p>Aucun bannissement</p>
|
||||||
|
{% endif %}
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
{% endblock %}
|
||||||
|
|
|
@ -11,6 +11,7 @@ urlpatterns = [
|
||||||
url(r'^edit_ban/(?P<banid>[0-9]+)$', views.edit_ban, name='edit-ban'),
|
url(r'^edit_ban/(?P<banid>[0-9]+)$', views.edit_ban, name='edit-ban'),
|
||||||
url(r'^add_right/$', views.add_right, name='add-right'),
|
url(r'^add_right/$', views.add_right, name='add-right'),
|
||||||
url(r'^del_right/$', views.del_right, name='del-right'),
|
url(r'^del_right/$', views.del_right, name='del-right'),
|
||||||
|
url(r'^profil/$', views.profil, name='profil'),
|
||||||
url(r'^$', views.index, name='index'),
|
url(r'^$', views.index, name='index'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,11 @@ from django.contrib import messages
|
||||||
from django.db.models import Max
|
from django.db.models import Max
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
from users.models import User, Right, Ban, DelRightForm, UserForm, InfoForm, PasswordForm, StateForm, RightForm, BanForm
|
from users.models import User, Right, Ban, DelRightForm, UserForm, InfoForm, PasswordForm, StateForm, RightForm, BanForm, ProfilForm
|
||||||
|
from cotisations.models import Facture
|
||||||
|
from machines.models import Machine
|
||||||
from users.forms import PassForm
|
from users.forms import PassForm
|
||||||
|
from search.models import SearchForm
|
||||||
from cotisations.views import is_adherent
|
from cotisations.views import is_adherent
|
||||||
|
|
||||||
from re2o.login import makeSecret, hashNT
|
from re2o.login import makeSecret, hashNT
|
||||||
|
@ -32,7 +35,7 @@ def is_ban(user):
|
||||||
|
|
||||||
def has_access(user):
|
def has_access(user):
|
||||||
""" Renvoie si un utilisateur a accès à internet"""
|
""" Renvoie si un utilisateur a accès à internet"""
|
||||||
if user.state == 0 and not is_ban(user) and is_adherent(user):
|
if user.state == User.STATE_ACTIVE and not is_ban(user) and is_adherent(user):
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
@ -143,3 +146,17 @@ def edit_ban(request, banid):
|
||||||
def index(request):
|
def index(request):
|
||||||
users_list = User.objects.order_by('pk')
|
users_list = User.objects.order_by('pk')
|
||||||
return render(request, 'users/index.html', {'users_list': users_list})
|
return render(request, 'users/index.html', {'users_list': users_list})
|
||||||
|
|
||||||
|
def profil(request):
|
||||||
|
if request.method == 'POST':
|
||||||
|
profil = ProfilForm(request.POST or None)
|
||||||
|
if profil.is_valid():
|
||||||
|
profils = profil.cleaned_data['user']
|
||||||
|
users = User.objects.get(pseudo = profils)
|
||||||
|
machines = None
|
||||||
|
factures = Facture.objects.filter(user__pseudo = users)
|
||||||
|
bans = Ban.objects.filter(user__pseudo = users)
|
||||||
|
return render(request, 'users/profil.html', {'user': users, 'machine_list' :machines, 'facture_list':factures, 'ban_list':bans})
|
||||||
|
return redirect("/users/")
|
||||||
|
return redirect("/users/")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue