Started port to Django 2.1, Python 3, Docker

This commit is a rough port to Django 2.1, Python 3 and a Docker based local
development setup. Tests fail/error but migrations and the web frontend are
already runnable. Task queue functionality is untested and translations seem to
have trouble.
This commit is contained in:
Jan Dittberner 2018-11-19 23:28:40 +01:00
parent adc57657dd
commit 6cebd80c89
48 changed files with 1081 additions and 576 deletions

View file

@ -8,7 +8,6 @@ import model_utils.fields
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('domains', '0001_initial'),
@ -18,12 +17,31 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='HostingDomain',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, verbose_name='created', editable=False)),
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, verbose_name='modified', editable=False)),
('domain', models.CharField(unique=True, max_length=128, verbose_name='domain name')),
('customer', models.ForeignKey(verbose_name='customer', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
('maildomain', models.OneToOneField(null=True, to='domains.MailDomain', blank=True, help_text='assigned mail domain for this domain', verbose_name='mail domain')),
('id',
models.AutoField(verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('created',
model_utils.fields.AutoCreatedField(
default=django.utils.timezone.now, verbose_name='created',
editable=False)),
('modified',
model_utils.fields.AutoLastModifiedField(
default=django.utils.timezone.now, verbose_name='modified',
editable=False)),
('domain',
models.CharField(
unique=True, max_length=128, verbose_name='domain name')),
('customer',
models.ForeignKey(
verbose_name='customer', blank=True,
to=settings.AUTH_USER_MODEL, null=True,
on_delete=models.CASCADE)),
('maildomain',
models.OneToOneField(
null=True, to='domains.MailDomain', blank=True,
help_text='assigned mail domain for this domain',
verbose_name='mail domain',
on_delete=models.CASCADE)),
],
options={
'verbose_name': 'Hosting domain',
@ -34,13 +52,17 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='maildomain',
name='customer',
field=models.ForeignKey(verbose_name='customer', blank=True, to=settings.AUTH_USER_MODEL, null=True),
field=models.ForeignKey(
verbose_name='customer', blank=True,
to=settings.AUTH_USER_MODEL, null=True,
on_delete=models.CASCADE),
preserve_default=True,
),
migrations.AlterField(
model_name='maildomain',
name='domain',
field=models.CharField(unique=True, max_length=128, verbose_name='domain name'),
field=models.CharField(
unique=True, max_length=128, verbose_name='domain name'),
preserve_default=True,
),
]

View file

@ -8,7 +8,6 @@ import model_utils.fields
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('domains', '0002_auto_20150124_1909'),
@ -18,22 +17,29 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='DNSComment',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('name', models.CharField(max_length=255)),
('commenttype', models.CharField(max_length=10, db_column='type')),
('commenttype',
models.CharField(max_length=10, db_column='type')),
('modified_at', models.IntegerField()),
('comment', models.CharField(max_length=65535)),
('customer', models.ForeignKey(verbose_name='customer', to=settings.AUTH_USER_MODEL)),
('customer', models.ForeignKey(
verbose_name='customer',
to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
],
),
migrations.RunSQL(
'''ALTER TABLE domains_dnscomment ADD CONSTRAINT c_lowercase_name
CHECK (((name)::TEXT = LOWER((name)::TEXT)))'''
CHECK (((name)::TEXT = LOWER((name)::TEXT)))'''
),
migrations.CreateModel(
name='DNSCryptoKey',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('flags', models.IntegerField()),
('active', models.BooleanField(default=True)),
('content', models.TextField()),
@ -42,15 +48,30 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='DNSDomain',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('created', model_utils.fields.AutoCreatedField(default=django.utils.timezone.now, verbose_name='created', editable=False)),
('modified', model_utils.fields.AutoLastModifiedField(default=django.utils.timezone.now, verbose_name='modified', editable=False)),
('domain', models.CharField(unique=True, max_length=255, verbose_name='domain name')),
('master', models.CharField(max_length=128, null=True, blank=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('created', model_utils.fields.AutoCreatedField(
default=django.utils.timezone.now, verbose_name='created',
editable=False)),
('modified', model_utils.fields.AutoLastModifiedField(
default=django.utils.timezone.now, verbose_name='modified',
editable=False)),
('domain', models.CharField(
unique=True, max_length=255, verbose_name='domain name')),
('master',
models.CharField(max_length=128, null=True, blank=True)),
('last_check', models.IntegerField(null=True)),
('domaintype', models.CharField(max_length=6, db_column='type', choices=[('MASTER', 'Master'), ('SLAVE', 'Slave'), ('NATIVE', 'Native')])),
('domaintype', models.CharField(
max_length=6, db_column='type',
choices=[('MASTER', 'Master'),
('SLAVE', 'Slave'),
('NATIVE', 'Native')])),
('notified_serial', models.IntegerField(null=True)),
('customer', models.ForeignKey(verbose_name='customer', blank=True, to=settings.AUTH_USER_MODEL, null=True)),
('customer', models.ForeignKey(
verbose_name='customer', blank=True,
to=settings.AUTH_USER_MODEL, null=True,
on_delete=models.CASCADE)),
],
options={
'verbose_name': 'DNS domain',
@ -64,26 +85,35 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='DNSDomainMetadata',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('kind', models.CharField(max_length=32)),
('content', models.TextField()),
('domain', models.ForeignKey(to='domains.DNSDomain')),
('domain', models.ForeignKey(
to='domains.DNSDomain', on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
name='DNSRecord',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(db_index=True, max_length=255, null=True, blank=True)),
('recordtype', models.CharField(max_length=10, null=True, db_column='type', blank=True)),
('content', models.CharField(max_length=65535, null=True, blank=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('name', models.CharField(
db_index=True, max_length=255, null=True, blank=True)),
('recordtype', models.CharField(
max_length=10, null=True, db_column='type', blank=True)),
('content', models.CharField(
max_length=65535, null=True, blank=True)),
('ttl', models.IntegerField(null=True)),
('prio', models.IntegerField(null=True)),
('change_date', models.IntegerField(null=True)),
('disabled', models.BooleanField(default=False)),
('ordername', models.CharField(max_length=255)),
('auth', models.BooleanField(default=True)),
('domain', models.ForeignKey(to='domains.DNSDomain')),
('domain', models.ForeignKey(
to='domains.DNSDomain', on_delete=models.CASCADE)),
],
options={
'verbose_name': 'DNS record',
@ -101,16 +131,22 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='DNSSupermaster',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('ip', models.GenericIPAddressField()),
('nameserver', models.CharField(max_length=255)),
('customer', models.ForeignKey(verbose_name='customer', to=settings.AUTH_USER_MODEL)),
('customer', models.ForeignKey(
verbose_name='customer', to=settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)),
],
),
migrations.CreateModel(
name='DNSTSIGKey',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('id', models.AutoField(
verbose_name='ID', serialize=False,
auto_created=True, primary_key=True)),
('name', models.CharField(max_length=255)),
('algorithm', models.CharField(max_length=50)),
('secret', models.CharField(max_length=255)),
@ -123,22 +159,26 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='hostingdomain',
name='domain',
field=models.CharField(unique=True, max_length=255, verbose_name='domain name'),
field=models.CharField(
unique=True, max_length=255, verbose_name='domain name'),
),
migrations.AlterField(
model_name='maildomain',
name='domain',
field=models.CharField(unique=True, max_length=255, verbose_name='domain name'),
field=models.CharField(
unique=True, max_length=255, verbose_name='domain name'),
),
migrations.AddField(
model_name='dnscryptokey',
name='domain',
field=models.ForeignKey(to='domains.DNSDomain'),
field=models.ForeignKey(
to='domains.DNSDomain', on_delete=models.CASCADE),
),
migrations.AddField(
model_name='dnscomment',
name='domain',
field=models.ForeignKey(to='domains.DNSDomain'),
field=models.ForeignKey(
to='domains.DNSDomain', on_delete=models.CASCADE),
),
migrations.AlterUniqueTogether(
name='dnssupermaster',
@ -154,6 +194,6 @@ class Migration(migrations.Migration):
),
migrations.AlterIndexTogether(
name='dnscomment',
index_together=set([('name', 'commenttype'), ('domain', 'modified_at')]),
index_together={('name', 'commenttype'), ('domain', 'modified_at')},
),
]