diff --git a/HISTORY.rst b/HISTORY.rst index 361dacf353..cbea7d1b31 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -4,6 +4,15 @@ test mixin. * Add a reusable task to upload documents. * Add MVP of the importer app. +* Fix mailing profile log columns mappings. + GitLab issue #626. Thanks to Jesaja Everling (@jeverling) + for the report. +* Fix the Django SMTP backend username field name. + GitLab issue #625. Thanks to Jesaja Everling (@jeverling) + for the report and the research. +* Increase the Django STMP username. + GitLab issue #625. Thanks to Jesaja Everling (@jeverling) + for the report and the research. 3.2.2 (2019-06-19) ================== diff --git a/docker/rootfs/version b/docker/rootfs/version index be94e6f53d..b347b11eac 100755 --- a/docker/rootfs/version +++ b/docker/rootfs/version @@ -1 +1 @@ -3.2.2 +3.2.3 diff --git a/docs/releases/3.2.3.rst b/docs/releases/3.2.3.rst index 60dc84d965..031d445f45 100644 --- a/docs/releases/3.2.3.rst +++ b/docs/releases/3.2.3.rst @@ -9,7 +9,15 @@ Changes - Add support for disabling the random primary key test mixin. - +- Fix mailing profile log columns mappings. + GitLab issue #626. Thanks to Jesaja Everling (@jeverling) + for the report. +- Fix the Django SMTP backend username field name. + GitLab issue #625. Thanks to Jesaja Everling (@jeverling) + for the report and the research. +- Increase the Django STMP username. + GitLab issue #625. Thanks to Jesaja Everling (@jeverling) + for the report and the research. Removals -------- @@ -98,6 +106,8 @@ Backward incompatible changes Bugs fixed or issues closed --------------------------- -- :gitlab-issue:`615` +- :gitlab-issue:`619` poplib.POP3_SSL and poplib.POP3 initialized with wrong kwarg +- :gitlab-issue:`625` mayan.apps.mailer.mailers.DjangoSMTP uses "user", but django.core.mail.backends.smtp.EmailBackend expects "username" +- :gitlab-issue:`626` Mailing profile error log is empty, despite errors .. _PyPI: https://pypi.python.org/pypi/mayan-edms/ diff --git a/mayan/__init__.py b/mayan/__init__.py index ee860aa2c4..d64fa74a55 100644 --- a/mayan/__init__.py +++ b/mayan/__init__.py @@ -1,9 +1,9 @@ from __future__ import unicode_literals __title__ = 'Mayan EDMS' -__version__ = '3.2.2' -__build__ = 0x030202 -__build_string__ = 'v3.2.2_Wed Jun 19 00:39:13 2019 -0400' +__version__ = '3.2.3' +__build__ = 0x030203 +__build_string__ = 'v3.2.3_Fri Jun 21 00:01:37 2019 -0400' __django_version__ = '1.11' __author__ = 'Roberto Rosario' __author_email__ = 'roberto.rosario@mayan-edms.com' diff --git a/mayan/apps/mailer/apps.py b/mayan/apps/mailer/apps.py index 61d5860136..6a6c89160b 100644 --- a/mayan/apps/mailer/apps.py +++ b/mayan/apps/mailer/apps.py @@ -51,6 +51,7 @@ class MailerApp(MayanAppConfig): LogEntry = self.get_model(model_name='LogEntry') UserMailer = self.get_model(model_name='UserMailer') + UserMailerLogEntry = self.get_model(model_name='UserMailerLogEntry') MailerBackend.initialize() @@ -79,6 +80,13 @@ class MailerApp(MayanAppConfig): SourceColumn( source=UserMailer, attribute='backend_label' ) + SourceColumn( + attribute='datetime', label=_('Date and time'), + source=UserMailerLogEntry + ) + SourceColumn( + attribute='message', label=_('Message'), source=UserMailerLogEntry + ) ModelPermission.register( model=Document, permissions=( diff --git a/mayan/apps/mailer/forms.py b/mayan/apps/mailer/forms.py index e2f51b339c..4373b2a3ab 100644 --- a/mayan/apps/mailer/forms.py +++ b/mayan/apps/mailer/forms.py @@ -96,7 +96,7 @@ class UserMailerDynamicForm(DynamicModelForm): if self.instance.backend_data: backend_data = json.loads(self.instance.backend_data) for key in self.instance.get_backend().fields: - self.fields[key].initial = backend_data[key] + self.fields[key].initial = backend_data.get(key) return result diff --git a/mayan/apps/mailer/mailers.py b/mayan/apps/mailer/mailers.py index 9e4660f2ba..4407c7e9b0 100644 --- a/mayan/apps/mailer/mailers.py +++ b/mayan/apps/mailer/mailers.py @@ -12,11 +12,11 @@ class DjangoSMTP(MailerBackend): Backend that wraps Django's SMTP backend """ class_fields = ( - 'host', 'port', 'use_tls', 'use_ssl', 'user', 'password' + 'host', 'port', 'use_tls', 'use_ssl', 'username', 'password' ) class_path = 'django.core.mail.backends.smtp.EmailBackend' field_order = ( - 'host', 'port', 'use_tls', 'use_ssl', 'user', 'password', 'from' + 'host', 'port', 'use_tls', 'use_ssl', 'username', 'password', 'from' ) fields = { 'from': { @@ -60,14 +60,14 @@ class DjangoSMTP(MailerBackend): 'that "Use TLS" and "Use SSL" are mutually exclusive, ' 'so only set one of those settings to True.' ), 'required': False - }, 'user': { + }, 'username': { 'label': _('Username'), 'class': 'django.forms.CharField', 'default': '', 'help_text': _( 'Username to use for the SMTP server. If empty, ' 'authentication won\'t attempted.' ), 'kwargs': { - 'max_length': 48 + 'max_length': 254 }, 'required': False }, 'password': { 'label': _('Password'), diff --git a/mayan/apps/mailer/views.py b/mayan/apps/mailer/views.py index ca8193d479..b2477c422e 100644 --- a/mayan/apps/mailer/views.py +++ b/mayan/apps/mailer/views.py @@ -208,7 +208,7 @@ class UserMailerLogEntryListView(SingleObjectListView): return { 'hide_object': True, 'object': self.get_user_mailer(), - 'title': _('%s error log') % self.get_user_mailer(), + 'title': _('Error log for: %s') % self.get_user_mailer(), } def get_source_queryset(self): diff --git a/mayan/apps/sources/models/email_sources.py b/mayan/apps/sources/models/email_sources.py index 7b9f8b67d5..a681c7f721 100644 --- a/mayan/apps/sources/models/email_sources.py +++ b/mayan/apps/sources/models/email_sources.py @@ -277,10 +277,10 @@ class POP3Email(EmailBaseModel): logger.debug('ssl: %s', self.ssl) if self.ssl: - mailbox = poplib.POP3_SSL(host=self.host, post=self.port) + mailbox = poplib.POP3_SSL(host=self.host, port=self.port) else: mailbox = poplib.POP3( - host=self.host, post=self.port, timeout=self.timeout + host=self.host, port=self.port, timeout=self.timeout ) mailbox.getwelcome() diff --git a/mayan/apps/sources/tests/test_models.py b/mayan/apps/sources/tests/test_models.py index dfea4f640b..16a6282118 100644 --- a/mayan/apps/sources/tests/test_models.py +++ b/mayan/apps/sources/tests/test_models.py @@ -217,7 +217,7 @@ class POP3SourceTestCase(GenericDocumentTestCase): def user(self, username): return - @mock.patch('poplib.POP3_SSL') + @mock.patch('poplib.POP3_SSL', autospec=True) def test_download_document(self, mock_poplib): mock_poplib.return_value = POP3SourceTestCase.MockMailbox() self.source = POP3Email.objects.create(