diff --git a/django_mailbox/models.py b/django_mailbox/models.py
index c666046..836c60f 100644
--- a/django_mailbox/models.py
+++ b/django_mailbox/models.py
@@ -16,6 +16,7 @@ import mimetypes
import os.path
import sys
import uuid
+
import six
from six.moves.urllib.parse import parse_qs, unquote, urlparse
@@ -80,10 +81,15 @@ class ActiveMailboxManager(models.Manager):
class Mailbox(models.Model):
- name = models.CharField(max_length=255)
- uri = models.CharField(
+ name = models.CharField(
+ _(u'Name'),
max_length=255,
- help_text=(
+ )
+
+ uri = models.CharField(
+ _(u'URI'),
+ max_length=255,
+ help_text=(_(
"Example: imap+ssl://myusername:mypassword@someserver
"
"
"
"Internet transports include 'imap' and 'pop3'; "
@@ -92,14 +98,16 @@ class Mailbox(models.Model):
"
"
"Be sure to urlencode your username and password should they "
"contain illegal characters (like @, :, etc)."
- ),
+ )),
blank=True,
null=True,
default=None,
)
+
from_email = models.CharField(
+ _(u'From email'),
max_length=255,
- help_text=(
+ help_text=(_(
"Example: MailBot <mailbot@yourdomain.com>
"
"'From' header to set for outgoing email.
"
"
"
@@ -107,19 +115,21 @@ class Mailbox(models.Model):
"setting is unnecessary.
"
"If you send e-mail without setting this, your 'From' header will'"
"be set to match the setting `DEFAULT_FROM_EMAIL`."
- ),
+ )),
blank=True,
null=True,
default=None,
)
+
active = models.BooleanField(
- help_text=(
+ _(u'Active'),
+ help_text=(_(
"Check this e-mail inbox for new e-mail messages during polling "
"cycles. This checkbox does not have an effect upon whether "
"mail is collected here when this mailbox receives mail from a "
"pipe, and does not affect whether e-mail messages can be "
"dispatched from this mailbox. "
- ),
+ )),
blank=True,
default=True,
)
@@ -362,34 +372,62 @@ class UnreadMessageManager(models.Manager):
class Message(models.Model):
- mailbox = models.ForeignKey(Mailbox, related_name='messages')
- subject = models.CharField(max_length=255)
- message_id = models.CharField(max_length=255)
+ mailbox = models.ForeignKey(
+ Mailbox,
+ related_name='messages',
+ verbose_name=_(u'Mailbox'),
+ )
+
+ subject = models.CharField(
+ _(u'Subject'),
+ max_length=255
+ )
+
+ message_id = models.CharField(
+ _(u'Message ID'),
+ max_length=255
+ )
+
in_reply_to = models.ForeignKey(
'django_mailbox.Message',
related_name='replies',
blank=True,
null=True,
+ verbose_name=_(u'In reply to'),
)
+
from_header = models.CharField(
+ _('From header'),
max_length=255,
)
- to_header = models.TextField()
+
+ to_header = models.TextField(
+ _(u'To header'),
+ )
+
outgoing = models.BooleanField(
+ _(u'Outgoing'),
default=False,
blank=True,
)
- body = models.TextField()
+ body = models.TextField(
+ _(u'Body'),
+ )
+
encoded = models.BooleanField(
+ _(u'Encoded'),
default=False,
- help_text='True if the e-mail body is Base64 encoded'
+ help_text=_('True if the e-mail body is Base64 encoded'),
)
processed = models.DateTimeField(
+ _('Processed'),
auto_now_add=True
)
+
read = models.DateTimeField(
+ _(u'Read'),
default=None,
blank=True,
null=True,
@@ -584,9 +622,19 @@ class MessageAttachment(models.Model):
related_name='attachments',
null=True,
blank=True,
+ verbose_name=_('Message'),
+ )
+
+ headers = models.TextField(
+ _(u'Headers'),
+ null=True,
+ blank=True,
+ )
+
+ document = models.FileField(
+ _(u'Document'),
+ upload_to='mailbox_attachments/%Y/%m/%d/'
)
- headers = models.TextField(null=True, blank=True)
- document = models.FileField(upload_to='mailbox_attachments/%Y/%m/%d/')
def delete(self, *args, **kwargs):
self.document.delete()