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:
parent
adc57657dd
commit
6cebd80c89
48 changed files with 1081 additions and 576 deletions
|
@ -5,8 +5,8 @@ This module defines form classes for mailbox and mail address editing.
|
|||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django import forms
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.validators import validate_email
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from crispy_forms.helper import FormHelper
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
import django.utils.timezone
|
||||
import model_utils.fields
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('domains', '0001_initial'),
|
||||
('osusers', '0001_initial'),
|
||||
|
@ -17,9 +16,15 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='MailAddress',
|
||||
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)),
|
||||
('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)),
|
||||
('active', models.BooleanField(default=True)),
|
||||
('localpart', models.CharField(max_length=128)),
|
||||
],
|
||||
|
@ -32,9 +37,15 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='MailAddressForward',
|
||||
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)),
|
||||
('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)),
|
||||
('target', models.EmailField(max_length=254)),
|
||||
],
|
||||
options={
|
||||
|
@ -44,9 +55,15 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='MailAddressMailbox',
|
||||
fields=[
|
||||
('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)),
|
||||
('mailaddress', models.OneToOneField(primary_key=True, serialize=False, to='managemails.MailAddress')),
|
||||
('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)),
|
||||
('mailaddress', models.OneToOneField(
|
||||
primary_key=True, serialize=False,
|
||||
to='managemails.MailAddress', on_delete=models.CASCADE)),
|
||||
],
|
||||
options={
|
||||
},
|
||||
|
@ -55,13 +72,20 @@ class Migration(migrations.Migration):
|
|||
migrations.CreateModel(
|
||||
name='Mailbox',
|
||||
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)),
|
||||
('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)),
|
||||
('active', models.BooleanField(default=True)),
|
||||
('username', models.CharField(unique=True, max_length=128)),
|
||||
('password', models.CharField(max_length=255)),
|
||||
('osuser', models.ForeignKey(to='osusers.User')),
|
||||
('osuser', models.ForeignKey(
|
||||
to='osusers.User', on_delete=models.CASCADE)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Mailbox',
|
||||
|
@ -72,31 +96,34 @@ class Migration(migrations.Migration):
|
|||
migrations.AddField(
|
||||
model_name='mailaddressmailbox',
|
||||
name='mailbox',
|
||||
field=models.ForeignKey(to='managemails.Mailbox'),
|
||||
field=models.ForeignKey(
|
||||
to='managemails.Mailbox', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='mailaddressmailbox',
|
||||
unique_together=set([('mailaddress', 'mailbox')]),
|
||||
unique_together={('mailaddress', 'mailbox')},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='mailaddressforward',
|
||||
name='mailaddress',
|
||||
field=models.ForeignKey(to='managemails.MailAddress'),
|
||||
field=models.ForeignKey(
|
||||
to='managemails.MailAddress', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='mailaddressforward',
|
||||
unique_together=set([('mailaddress', 'target')]),
|
||||
unique_together={('mailaddress', 'target')},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='mailaddress',
|
||||
name='domain',
|
||||
field=models.ForeignKey(to='domains.MailDomain'),
|
||||
field=models.ForeignKey(
|
||||
to='domains.MailDomain', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterUniqueTogether(
|
||||
name='mailaddress',
|
||||
unique_together=set([('localpart', 'domain')]),
|
||||
unique_together={('localpart', 'domain')},
|
||||
),
|
||||
]
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('managemails', '0002_auto_20150117_1238'),
|
||||
]
|
||||
|
@ -14,13 +13,17 @@ class Migration(migrations.Migration):
|
|||
migrations.AlterField(
|
||||
model_name='mailaddressmailbox',
|
||||
name='mailaddress',
|
||||
field=models.OneToOneField(primary_key=True, serialize=False, to='managemails.MailAddress', verbose_name='mailaddress'),
|
||||
field=models.OneToOneField(
|
||||
primary_key=True, serialize=False, to='managemails.MailAddress',
|
||||
verbose_name='mailaddress', on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='mailaddressmailbox',
|
||||
name='mailbox',
|
||||
field=models.ForeignKey(verbose_name='mailbox', to='managemails.Mailbox'),
|
||||
field=models.ForeignKey(
|
||||
verbose_name='mailbox', to='managemails.Mailbox',
|
||||
on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('managemails', '0003_auto_20150124_2029'),
|
||||
]
|
||||
|
@ -14,7 +13,9 @@ class Migration(migrations.Migration):
|
|||
migrations.AlterField(
|
||||
model_name='mailaddress',
|
||||
name='domain',
|
||||
field=models.ForeignKey(verbose_name='domain', to='domains.MailDomain'),
|
||||
field=models.ForeignKey(
|
||||
verbose_name='domain', to='domains.MailDomain',
|
||||
on_delete=models.CASCADE),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
|
|
|
@ -109,7 +109,7 @@ class Mailbox(ActivateAbleMixin, TimeStampedModel):
|
|||
This is the model class for a mailbox.
|
||||
|
||||
"""
|
||||
osuser = models.ForeignKey(OsUser)
|
||||
osuser = models.ForeignKey(OsUser, on_delete=models.CASCADE)
|
||||
username = models.CharField(max_length=128, unique=True)
|
||||
password = models.CharField(max_length=255)
|
||||
|
||||
|
@ -162,7 +162,8 @@ class MailAddress(ActivateAbleMixin, TimeStampedModel, models.Model):
|
|||
|
||||
"""
|
||||
localpart = models.CharField(_('local part'), max_length=128)
|
||||
domain = models.ForeignKey(MailDomain, verbose_name=_('domain'))
|
||||
domain = models.ForeignKey(
|
||||
MailDomain, verbose_name=_('domain'), on_delete=models.CASCADE)
|
||||
|
||||
class Meta:
|
||||
ordering = ['domain', 'localpart']
|
||||
|
@ -250,8 +251,10 @@ class MailAddressMailbox(TimeStampedModel, models.Model):
|
|||
|
||||
"""
|
||||
mailaddress = models.OneToOneField(
|
||||
MailAddress, verbose_name=_('mailaddress'), primary_key=True)
|
||||
mailbox = models.ForeignKey(Mailbox, verbose_name=_('mailbox'))
|
||||
MailAddress, verbose_name=_('mailaddress'), primary_key=True,
|
||||
on_delete=models.CASCADE)
|
||||
mailbox = models.ForeignKey(
|
||||
Mailbox, verbose_name=_('mailbox'), on_delete=models.CASCADE)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('mailaddress', 'mailbox')
|
||||
|
@ -265,7 +268,7 @@ class MailAddressForward(TimeStampedModel, models.Model):
|
|||
This is a model class to map mail addresses to forwarding addresses.
|
||||
|
||||
"""
|
||||
mailaddress = models.ForeignKey(MailAddress)
|
||||
mailaddress = models.ForeignKey(MailAddress, on_delete=models.CASCADE)
|
||||
target = models.EmailField(max_length=254)
|
||||
|
||||
class Meta:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue