mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-05 01:16:27 +00:00
GEstion complète des droits - ajout/suppression
This commit is contained in:
parent
f2b2a39091
commit
1560a7b838
4 changed files with 25 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
|||
from django.db import models
|
||||
from django.forms import ModelForm
|
||||
from django import forms
|
||||
|
||||
class User(models.Model):
|
||||
STATE_ACTIVE = 0
|
||||
|
@ -23,7 +24,7 @@ class User(models.Model):
|
|||
state = models.IntegerField(choices=STATES, default=STATE_ACTIVE)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
return self.pseudo
|
||||
|
||||
class Right(models.Model):
|
||||
user = models.ForeignKey('User', on_delete=models.PROTECT)
|
||||
|
@ -32,6 +33,9 @@ class Right(models.Model):
|
|||
class Meta:
|
||||
unique_together = ("user", "right")
|
||||
|
||||
def __str__(self):
|
||||
return str(self.user) + " - " + str(self.right)
|
||||
|
||||
class School(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
|
||||
|
@ -90,3 +94,10 @@ class RightForm(ModelForm):
|
|||
class Meta:
|
||||
model = Right
|
||||
fields = ['user', 'right']
|
||||
|
||||
class DelRightForm(ModelForm):
|
||||
rights = forms.ModelMultipleChoiceField(queryset=Right.objects.all(), label="Droits actuels", widget=forms.CheckboxSelectMultiple)
|
||||
|
||||
class Meta:
|
||||
model = Right
|
||||
exclude = ['user', 'right']
|
||||
|
|
|
@ -3,4 +3,6 @@
|
|||
{% block sidebar %}
|
||||
<p><a href="{% url "users:new-user" %}">Créer un adhérent</a></p>
|
||||
<p><a href="{% url "users:index" %}">Liste des adhérents</a></p>
|
||||
<p><a href="{% url "users:add-right" %}">Ajouter un droit rezo</a></p>
|
||||
<p><a href="{% url "users:del-right" %}">Retirer un droit rezo</a></p>
|
||||
{% endblock %}
|
||||
|
|
|
@ -8,6 +8,7 @@ urlpatterns = [
|
|||
url(r'^state/(?P<userid>[0-9]+)$', views.state, name='state'),
|
||||
url(r'^password/(?P<userid>[0-9]+)$', views.password, name='password'),
|
||||
url(r'^add_right/$', views.add_right, name='add-right'),
|
||||
url(r'^del_right/$', views.del_right, name='del-right'),
|
||||
url(r'^$', views.index, name='index'),
|
||||
]
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ from django.core.context_processors import csrf
|
|||
from django.template import Context, RequestContext, loader
|
||||
from django.contrib import messages
|
||||
|
||||
from users.models import User, UserForm, InfoForm, PasswordForm, StateForm, RightForm
|
||||
from users.models import User, Right, DelRightForm, UserForm, InfoForm, PasswordForm, StateForm, RightForm
|
||||
from users.forms import PassForm
|
||||
|
||||
from re2o.login import makeSecret, hashNT
|
||||
|
@ -77,6 +77,15 @@ def add_right(request):
|
|||
return redirect("/users/")
|
||||
return form({'userform': right}, 'users/user.html', request)
|
||||
|
||||
def del_right(request):
|
||||
right = DelRightForm(request.POST or None)
|
||||
if right.is_valid():
|
||||
right_del = right.cleaned_data['rights']
|
||||
right_del.delete()
|
||||
messages.success(request, "Droit retiré avec succès")
|
||||
return redirect("/users/")
|
||||
return form({'userform': right}, 'users/user.html', request)
|
||||
|
||||
def index(request):
|
||||
users_list = User.objects.order_by('pk')
|
||||
return render(request, 'users/index.html', {'users_list': users_list})
|
||||
|
|
Loading…
Reference in a new issue