56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.11.11 on 2018-08-26 10:01
|
|
from __future__ import unicode_literals
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
|
|
|
|
def add_user_options_to_existing_users(apps, schema_editor):
|
|
User = apps.get_model(settings.AUTH_USER_MODEL)
|
|
UserOptions = apps.get_model(
|
|
app_label='user_management', model_name='UserOptions'
|
|
)
|
|
|
|
for user in User.objects.all():
|
|
UserOptions.objects.create(user=user)
|
|
|
|
|
|
def remove_user_options_from_existing_users(apps, schema_editor):
|
|
User = apps.get_model(settings.AUTH_USER_MODEL)
|
|
UserOptions = apps.get_model(
|
|
app_label='user_management', model_name='UserOptions'
|
|
)
|
|
|
|
for user in User.objects.all():
|
|
UserOptions.objects.filter(user=user).delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='UserOptions',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('block_password_change', models.BooleanField(default=False, verbose_name='Forbid this user from changing their password.')),
|
|
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='user_options', to=settings.AUTH_USER_MODEL, verbose_name='User')),
|
|
],
|
|
options={
|
|
'verbose_name': 'User settings',
|
|
'verbose_name_plural': 'Users settings',
|
|
},
|
|
),
|
|
migrations.RunPython(
|
|
code=add_user_options_to_existing_users,
|
|
reverse_code=remove_user_options_from_existing_users
|
|
),
|
|
]
|