Automatically create DJ user at initial migration.
This commit is contained in:
parent
0b0a0191f2
commit
bf7b5061e9
3 changed files with 56 additions and 2 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -9,7 +9,6 @@ __pycache__/
|
|||
# Distribution / packaging
|
||||
.Python
|
||||
.venv/
|
||||
.env
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
|
@ -42,4 +41,8 @@ docs/_build/
|
|||
|
||||
# IDE customizations
|
||||
.vscode/
|
||||
requirements-dev.txt
|
||||
requirements-dev.txt
|
||||
|
||||
# Sensitive information
|
||||
.env
|
||||
.djinfo
|
||||
|
|
39
savepointradio/core/migrations/0002_create_dj_user.py
Normal file
39
savepointradio/core/migrations/0002_create_dj_user.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Generated by Django 2.0 on 2017-12-27 21:22
|
||||
|
||||
import os
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.hashers import make_password
|
||||
from django.db import migrations, models
|
||||
|
||||
from core.utils import generate_password
|
||||
|
||||
|
||||
def create_dj_user(apps, schema_editor):
|
||||
User = apps.get_model('core', 'RadioUser')
|
||||
db_alias = schema_editor.connection.alias
|
||||
|
||||
new_password = generate_password()
|
||||
dj = User(email=settings.RADIO_DJ_EMAIL,
|
||||
name=settings.RADIO_DJ_NAME,
|
||||
password=make_password(new_password),
|
||||
is_superuser=False,
|
||||
is_staff=True,
|
||||
is_dj=True)
|
||||
dj.save(using=db_alias)
|
||||
|
||||
with open(os.path.join(settings.PROJECT_DIR, '.djinfo'), 'w') as f:
|
||||
f.write('Email: {}\n'.format(dj.email))
|
||||
f.write('Name: {}\n'.format(dj.name))
|
||||
f.write('Password: {}\n'.format(new_password))
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(create_dj_user),
|
||||
]
|
|
@ -8,6 +8,10 @@ CONFIG_DIR = os.path.dirname(SETTINGS_DIR)
|
|||
PROJECT_DIR = os.path.dirname(CONFIG_DIR)
|
||||
BASE_DIR = os.path.dirname(PROJECT_DIR)
|
||||
|
||||
###
|
||||
### Django-specific settings
|
||||
###
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
|
||||
|
@ -83,3 +87,11 @@ USE_L10N = True
|
|||
USE_TZ = True
|
||||
|
||||
WSGI_APPLICATION = 'savepointradio.wsgi.application'
|
||||
|
||||
###
|
||||
### Radio-specific settings
|
||||
###
|
||||
|
||||
RADIO_DJ_EMAIL = config('RADIO_DJ_EMAIL', default='dj@radiostation.net')
|
||||
|
||||
RADIO_DJ_NAME = config('RADIO_DJ_NAME', default='DJ Reinhardt')
|
Loading…
Reference in a new issue