]> git.0d.be Git - earwig.git/commitdiff
set up a custom user model
authorFrédéric Péters <fpeters@0d.be>
Sat, 1 Sep 2018 07:43:31 +0000 (09:43 +0200)
committerFrédéric Péters <fpeters@0d.be>
Sat, 1 Sep 2018 07:44:31 +0000 (09:44 +0200)
earwig/settings.py
earwig/users/__init__.py [new file with mode: 0644]
earwig/users/admin.py [new file with mode: 0644]
earwig/users/migrations/0001_initial.py [new file with mode: 0644]
earwig/users/migrations/__init__.py [new file with mode: 0644]
earwig/users/models.py [new file with mode: 0644]

index 4406d34af947840eedc7416ef51b2161e9fc2ec9..4bad171ebf8ef9330a5aa9d852ceabff0802e15f 100644 (file)
@@ -35,6 +35,7 @@ INSTALLED_APPS = [
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
+    'earwig.users',
 ]
 
 MIDDLEWARE = [
@@ -67,6 +68,7 @@ TEMPLATES = [
 
 WSGI_APPLICATION = 'earwig.wsgi.application'
 
+AUTH_USER_MODEL = 'users.User'
 
 # Database
 # https://docs.djangoproject.com/en/1.11/ref/settings/#databases
diff --git a/earwig/users/__init__.py b/earwig/users/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/earwig/users/admin.py b/earwig/users/admin.py
new file mode 100644 (file)
index 0000000..b9bcffe
--- /dev/null
@@ -0,0 +1,21 @@
+# earwig
+# Copyright (C) 2018  Frederic Peters
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from django.contrib import admin
+from django.contrib.auth.admin import UserAdmin
+from .models import User
+
+admin.site.register(User, UserAdmin)
diff --git a/earwig/users/migrations/0001_initial.py b/earwig/users/migrations/0001_initial.py
new file mode 100644 (file)
index 0000000..d523b1b
--- /dev/null
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.11 on 2018-09-01 07:42
+from __future__ import unicode_literals
+
+import django.contrib.auth.models
+import django.contrib.auth.validators
+from django.db import migrations, models
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    initial = True
+
+    dependencies = [
+        ('auth', '0008_alter_user_username_max_length'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='User',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('password', models.CharField(max_length=128, verbose_name='password')),
+                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
+                ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
+                ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
+                ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')),
+                ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')),
+                ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
+                ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
+                ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
+                ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
+                ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
+                ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
+            ],
+            options={
+                'verbose_name': 'user',
+                'verbose_name_plural': 'users',
+                'abstract': False,
+            },
+            managers=[
+                ('objects', django.contrib.auth.models.UserManager()),
+            ],
+        ),
+    ]
diff --git a/earwig/users/migrations/__init__.py b/earwig/users/migrations/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/earwig/users/models.py b/earwig/users/models.py
new file mode 100644 (file)
index 0000000..77eba80
--- /dev/null
@@ -0,0 +1,20 @@
+# earwig
+# Copyright (C) 2018  Frederic Peters
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU Affero General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from django.contrib.auth.models import AbstractUser
+
+class User(AbstractUser):
+    pass