Browse Source

GEstion complète des droits - ajout/suppression

rewrite_authors
Gabriel Detraz 10 years ago
parent
commit
723ca43fe7
  1. 13
      users/models.py
  2. 2
      users/templates/users/sidebar.html
  3. 1
      users/urls.py
  4. 11
      users/views.py

13
users/models.py

@ -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']

2
users/templates/users/sidebar.html

@ -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 %}

1
users/urls.py

@ -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'),
]

11
users/views.py

@ -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…
Cancel
Save