improve managemails app
- add managemails.apps to give a more meaningful title in the admin site - add verbose names to MailAddressMailbox fields - implement managemails.models.Mailbox.get_mailaddresses and a corresponding property mailaddresses
This commit is contained in:
parent
47abaa6d62
commit
e04132bd24
5 changed files with 71 additions and 3 deletions
|
@ -11,6 +11,13 @@
|
|||
:members:
|
||||
|
||||
|
||||
:py:mod:`apps <managemails.apps>`
|
||||
-----------------------------------
|
||||
|
||||
.. automodule:: managemails.apps
|
||||
:members:
|
||||
|
||||
|
||||
:py:mod:`models <managemails.models>`
|
||||
-------------------------------------
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
"""
|
||||
This app takes care of mailboxes and mail addresses.
|
||||
|
||||
"""
|
||||
default_app_config = 'managemails.apps.ManageMailsAppConfig'
|
17
gnuviechadmin/managemails/apps.py
Normal file
17
gnuviechadmin/managemails/apps.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
"""
|
||||
This module contains the :py:class:`django.apps.AppConfig` instance for the
|
||||
:py:mod:`managemails` app.
|
||||
|
||||
"""
|
||||
from __future__ import unicode_literals
|
||||
from django.apps import AppConfig
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
||||
class ManageMailsAppConfig(AppConfig):
|
||||
"""
|
||||
AppConfig for the :py:mod:`managemails` app.
|
||||
|
||||
"""
|
||||
name = 'managemails'
|
||||
verbose_name = _('Mailboxes and Mail Addresses')
|
|
@ -0,0 +1,26 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('managemails', '0002_auto_20150117_1238'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='mailaddressmailbox',
|
||||
name='mailaddress',
|
||||
field=models.OneToOneField(primary_key=True, serialize=False, to='managemails.MailAddress', verbose_name='mailaddress'),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='mailaddressmailbox',
|
||||
name='mailbox',
|
||||
field=models.ForeignKey(verbose_name='mailbox', to='managemails.Mailbox'),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
|
@ -63,7 +63,7 @@ class MailboxManager(models.Manager):
|
|||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Mailbox(ActivateAbleMixin, TimeStampedModel, models.Model):
|
||||
class Mailbox(ActivateAbleMixin, TimeStampedModel):
|
||||
"""
|
||||
This is the model class for a mailbox.
|
||||
|
||||
|
@ -96,6 +96,18 @@ class Mailbox(ActivateAbleMixin, TimeStampedModel, models.Model):
|
|||
delete_file_mailbox.delay(self.osuser.username, self.username).get()
|
||||
super(Mailbox, self).delete(*args, **kwargs)
|
||||
|
||||
def get_mailaddresses(self):
|
||||
"""
|
||||
Get a list of mail addresses assigned to this mailbox.
|
||||
|
||||
"""
|
||||
addrs = [
|
||||
mbadr.mailaddress for mbadr in
|
||||
self.mailaddressmailbox_set.all()
|
||||
]
|
||||
return addrs
|
||||
mailaddresses = property(get_mailaddresses)
|
||||
|
||||
def __str__(self):
|
||||
return self.username
|
||||
|
||||
|
@ -125,8 +137,9 @@ class MailAddressMailbox(TimeStampedModel, models.Model):
|
|||
This is the model class to assign a mail address to a mailbox.
|
||||
|
||||
"""
|
||||
mailaddress = models.OneToOneField(MailAddress, primary_key=True)
|
||||
mailbox = models.ForeignKey(Mailbox)
|
||||
mailaddress = models.OneToOneField(
|
||||
MailAddress, verbose_name=_('mailaddress'), primary_key=True)
|
||||
mailbox = models.ForeignKey(Mailbox, verbose_name=_('mailbox'))
|
||||
|
||||
class Meta:
|
||||
unique_together = ('mailaddress', 'mailbox')
|
||||
|
|
Loading…
Reference in a new issue