Add is_staff and is_active to User

This commit is contained in:
Alexandre Iooss 2019-08-02 18:37:54 +02:00
parent 8407041d26
commit 97b5469ac7
No known key found for this signature in database
GPG Key ID: 6C79278F3FCDCC02
6 changed files with 90 additions and 17 deletions

3
.gitignore vendored
View File

@ -37,6 +37,3 @@ static_files/*
env/ env/
venv/ venv/
db.sqlite3 db.sqlite3
# Ignore migrations during first phase dev
migrations/

View File

@ -4,6 +4,7 @@
from django.conf.urls import include, url from django.conf.urls import include, url
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.views import password_reset
from django.shortcuts import render from django.shortcuts import render
from django.views.generic import RedirectView from django.views.generic import RedirectView
@ -25,13 +26,8 @@ urlpatterns = [
url(r'^logs/', include('logs.urls', namespace='logs')), url(r'^logs/', include('logs.urls', namespace='logs')),
# Include Django Contrib and Core routers # Include Django Contrib and Core routers
# TODO: fix django contrib auth password reset
# from django.contrib.auth.views import password_reset
# url(r'^accounts/password_reset/$',
# password_reset, name='admin_password_reset'),
url(r'^accounts/password_reset/$', url(r'^accounts/password_reset/$',
RedirectView.as_view(pattern_name='users:reset-password'), password_reset, name='admin_password_reset'),
name='admin_password_reset'),
url(r'^i18n/', include('django.conf.urls.i18n')), url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^accounts/', include('django.contrib.auth.urls')), url(r'^accounts/', include('django.contrib.auth.urls')),
url(r'^accounts/profile/', url(r'^accounts/profile/',

View File

@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2019-08-02 12:55
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('media', '0008_auto_20170704_2047'),
]
operations = [
migrations.AlterModelOptions(
name='auteur',
options={'verbose_name': 'author', 'verbose_name_plural': 'authors'},
),
migrations.AlterModelOptions(
name='emprunt',
options={'verbose_name': 'borrowed item', 'verbose_name_plural': 'borrowed items'},
),
migrations.AlterModelOptions(
name='jeu',
options={'verbose_name': 'game', 'verbose_name_plural': 'games'},
),
migrations.AlterModelOptions(
name='media',
options={'verbose_name': 'medium', 'verbose_name_plural': 'media'},
),
]

View File

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2019-08-02 12:55
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('users', '0009_auto_20171114_2303'),
]
operations = [
migrations.AlterModelOptions(
name='right',
options={'verbose_name': 'right', 'verbose_name_plural': 'rights'},
),
]

View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2019-08-02 16:31
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0010_auto_20190802_1455'),
]
operations = [
migrations.AddField(
model_name='user',
name='is_active',
field=models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active'),
),
migrations.AddField(
model_name='user',
name='is_staff',
field=models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status'),
),
]

View File

@ -67,6 +67,19 @@ class User(AbstractBaseUser):
pseudo = models.CharField(max_length=32, unique=True, pseudo = models.CharField(max_length=32, unique=True,
help_text="Doit contenir uniquement des lettres, chiffres, ou tirets. ") help_text="Doit contenir uniquement des lettres, chiffres, ou tirets. ")
comment = models.CharField(help_text="Commentaire, promo", max_length=255, blank=True) comment = models.CharField(help_text="Commentaire, promo", max_length=255, blank=True)
is_staff = models.BooleanField(
_('staff status'),
default=False,
help_text=_('Designates whether the user can log into this admin site.'),
)
is_active = models.BooleanField(
_('active'),
default=True,
help_text=_(
'Designates whether this user should be treated as active. '
'Unselect this instead of deleting accounts.'
),
)
registered = models.DateTimeField(auto_now_add=True) registered = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = 'pseudo' USERNAME_FIELD = 'pseudo'
@ -74,14 +87,6 @@ class User(AbstractBaseUser):
objects = UserManager() objects = UserManager()
@property
def is_active(self):
return self.state == self.STATE_ACTIVE
@property
def is_staff(self):
return self.is_admin
@property @property
def is_admin(self): def is_admin(self):
try: try: