Fix deprecation warnings
This commit is contained in:
parent
b3588b5e6c
commit
0f18e59d67
6 changed files with 67 additions and 75 deletions
|
@ -7,24 +7,20 @@ from __future__ import unicode_literals
|
|||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from passlib.hash import sha512_crypt
|
||||
from model_utils.models import TimeStampedModel
|
||||
from passlib.hash import sha512_crypt
|
||||
|
||||
from domains.models import MailDomain
|
||||
from fileservertasks.tasks import create_file_mailbox, delete_file_mailbox
|
||||
from osusers.models import User as OsUser
|
||||
|
||||
from fileservertasks.tasks import (
|
||||
create_file_mailbox,
|
||||
delete_file_mailbox,
|
||||
)
|
||||
|
||||
|
||||
class ActivateAbleMixin(models.Model):
|
||||
"""
|
||||
Mixin for model classes that can be active or inactive.
|
||||
|
||||
"""
|
||||
|
||||
active = models.BooleanField(default=True)
|
||||
|
||||
class Meta:
|
||||
|
@ -51,10 +47,8 @@ class MailboxManager(models.Manager):
|
|||
mailboxformat = "{0}p{1:02d}"
|
||||
mailboxname = mailboxformat.format(osuser.username, count)
|
||||
|
||||
for box in self.values('username').filter(osuser=osuser).order_by(
|
||||
'username'
|
||||
):
|
||||
if box['username'] == mailboxname:
|
||||
for box in self.values("username").filter(osuser=osuser).order_by("username"):
|
||||
if box["username"] == mailboxname:
|
||||
count += 1
|
||||
mailboxname = mailboxformat.format(osuser.username, count)
|
||||
else:
|
||||
|
@ -69,9 +63,10 @@ class MailboxManager(models.Manager):
|
|||
|
||||
"""
|
||||
return self.filter(
|
||||
models.Q(mailaddressmailbox__isnull=True) |
|
||||
models.Q(mailaddressmailbox__mailaddress=mailaddress),
|
||||
active=True, osuser=osuser,
|
||||
models.Q(mailaddressmailbox__isnull=True)
|
||||
| models.Q(mailaddressmailbox__mailaddress=mailaddress),
|
||||
active=True,
|
||||
osuser=osuser,
|
||||
)
|
||||
|
||||
def unused(self, osuser):
|
||||
|
@ -82,7 +77,8 @@ class MailboxManager(models.Manager):
|
|||
"""
|
||||
return self.filter(
|
||||
mailaddressmailbox__isnull=True,
|
||||
active=True, osuser=osuser,
|
||||
active=True,
|
||||
osuser=osuser,
|
||||
)
|
||||
|
||||
def create_mailbox(self, osuser, password=None, commit=True):
|
||||
|
@ -97,7 +93,8 @@ class MailboxManager(models.Manager):
|
|||
|
||||
"""
|
||||
mailbox = self.create(
|
||||
osuser=osuser, username=self.get_next_mailbox_name(osuser))
|
||||
osuser=osuser, username=self.get_next_mailbox_name(osuser)
|
||||
)
|
||||
if password is not None:
|
||||
mailbox.set_password(password)
|
||||
return mailbox
|
||||
|
@ -109,6 +106,7 @@ class Mailbox(ActivateAbleMixin, TimeStampedModel):
|
|||
This is the model class for a mailbox.
|
||||
|
||||
"""
|
||||
|
||||
osuser = models.ForeignKey(OsUser, on_delete=models.CASCADE)
|
||||
username = models.CharField(max_length=128, unique=True)
|
||||
password = models.CharField(max_length=255)
|
||||
|
@ -116,9 +114,9 @@ class Mailbox(ActivateAbleMixin, TimeStampedModel):
|
|||
objects = MailboxManager()
|
||||
|
||||
class Meta:
|
||||
ordering = ['osuser', 'username']
|
||||
verbose_name = _('Mailbox')
|
||||
verbose_name_plural = _('Mailboxes')
|
||||
ordering = ["osuser", "username"]
|
||||
verbose_name = _("Mailbox")
|
||||
verbose_name_plural = _("Mailboxes")
|
||||
|
||||
def set_password(self, password):
|
||||
"""
|
||||
|
@ -127,7 +125,7 @@ class Mailbox(ActivateAbleMixin, TimeStampedModel):
|
|||
:param str password: the clear text password
|
||||
|
||||
"""
|
||||
self.password = sha512_crypt.encrypt(password)
|
||||
self.password = sha512_crypt.hash(password)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
# TODO: refactor to use signals
|
||||
|
@ -144,11 +142,9 @@ class Mailbox(ActivateAbleMixin, TimeStampedModel):
|
|||
Get a list of mail addresses assigned to this mailbox.
|
||||
|
||||
"""
|
||||
addrs = [
|
||||
mbadr.mailaddress for mbadr in
|
||||
self.mailaddressmailbox_set.all()
|
||||
]
|
||||
addrs = [mbadr.mailaddress for mbadr in self.mailaddressmailbox_set.all()]
|
||||
return addrs
|
||||
|
||||
mailaddresses = property(get_mailaddresses)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -161,15 +157,17 @@ class MailAddress(ActivateAbleMixin, TimeStampedModel, models.Model):
|
|||
This is the model class for a mail address.
|
||||
|
||||
"""
|
||||
localpart = models.CharField(_('local part'), max_length=128)
|
||||
|
||||
localpart = models.CharField(_("local part"), max_length=128)
|
||||
domain = models.ForeignKey(
|
||||
MailDomain, verbose_name=_('domain'), on_delete=models.CASCADE)
|
||||
MailDomain, verbose_name=_("domain"), on_delete=models.CASCADE
|
||||
)
|
||||
|
||||
class Meta:
|
||||
ordering = ['domain', 'localpart']
|
||||
unique_together = ('localpart', 'domain')
|
||||
verbose_name = _('Mail address')
|
||||
verbose_name_plural = _('Mail addresses')
|
||||
ordering = ["domain", "localpart"]
|
||||
unique_together = ("localpart", "domain")
|
||||
verbose_name = _("Mail address")
|
||||
verbose_name_plural = _("Mail addresses")
|
||||
|
||||
def __str__(self):
|
||||
return "{0}@{1}".format(self.localpart, self.domain)
|
||||
|
@ -220,8 +218,7 @@ class MailAddress(ActivateAbleMixin, TimeStampedModel, models.Model):
|
|||
if MailAddressMailbox.objects.filter(mailaddress=self).exists():
|
||||
mabox = MailAddressMailbox.objects.get(mailaddress=self)
|
||||
mabox.delete()
|
||||
forwards = MailAddressForward.objects.filter(
|
||||
mailaddress=self).all()
|
||||
forwards = MailAddressForward.objects.filter(mailaddress=self).all()
|
||||
for item in forwards:
|
||||
if item.target not in addresses:
|
||||
item.delete()
|
||||
|
@ -250,14 +247,19 @@ class MailAddressMailbox(TimeStampedModel, models.Model):
|
|||
This is the model class to assign a mail address to a mailbox.
|
||||
|
||||
"""
|
||||
|
||||
mailaddress = models.OneToOneField(
|
||||
MailAddress, verbose_name=_('mailaddress'), primary_key=True,
|
||||
on_delete=models.CASCADE)
|
||||
MailAddress,
|
||||
verbose_name=_("mailaddress"),
|
||||
primary_key=True,
|
||||
on_delete=models.CASCADE,
|
||||
)
|
||||
mailbox = models.ForeignKey(
|
||||
Mailbox, verbose_name=_('mailbox'), on_delete=models.CASCADE)
|
||||
Mailbox, verbose_name=_("mailbox"), on_delete=models.CASCADE
|
||||
)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('mailaddress', 'mailbox')
|
||||
unique_together = ("mailaddress", "mailbox")
|
||||
|
||||
def __str__(self):
|
||||
return self.mailbox.username
|
||||
|
@ -268,8 +270,9 @@ class MailAddressForward(TimeStampedModel, models.Model):
|
|||
This is a model class to map mail addresses to forwarding addresses.
|
||||
|
||||
"""
|
||||
|
||||
mailaddress = models.ForeignKey(MailAddress, on_delete=models.CASCADE)
|
||||
target = models.EmailField(max_length=254)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('mailaddress', 'target')
|
||||
unique_together = ("mailaddress", "target")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue