コード例 #1
0
ファイル: mail.py プロジェクト: ryjo1026/openvpn-at-home
 def __init__(self, *args, settings=None, **kwargs):
     """
     Pass settings to base class.
     """
     self.settings = Settings.instance() if settings is None else settings
     kwargs_override = self.get_backend_config(**kwargs)
     super().__init__(*args, **kwargs, **kwargs_override)
コード例 #2
0
 def setUp(self):
     self.settings = Settings.instance()
     self.settings.email_smtp_server = 'testserver.com'
     self.settings.email_smtp_port = 999
     self.settings.email_smtp_login = '******'
     self.settings.email_smtp_password = '******'
     self.settings.save()
     self.connection = ConfigurableEmailBackend()
コード例 #3
0
 def setUp(self):
     super().setUp()
     settings = Settings.instance()
     settings.email_enabled = True
     settings.save()
     response = self.alpha_client.post(self.clients_url, self.create_client_dto)
     self.assertStatus(response, status.HTTP_201_CREATED)
     self.send_config_url = reverse('openvpn-api:send-client-config', kwargs={'id': response.data['id']})
コード例 #4
0
 def test_email_is_disabled(self):
     settings = Settings.instance()
     settings.email_enabled = False
     settings.save()
     from django.core.mail import outbox
     self.assertFalse(outbox)
     response = self.alpha_client.post(self.send_config_url)
     self.assertResponseOk(response)
     self.assertFalse(outbox)
コード例 #5
0
    def send_email(self, request, id):
        settings = Settings.instance()
        if not settings.email_enabled:
            return Response(status=status.HTTP_200_OK)

        if request.user.is_superuser:
            client = self.get_client_or_404(id=id)
        else:
            client = self.get_client_or_404(id=id, owner=request.user)

        send_client_config(config=client)
        return Response(status=status.HTTP_200_OK)
コード例 #6
0
 def _get_existing_email_settings(self):
     try:
         db_settings = Settings.instance()
         from django.conf import settings as django_settings
         email = {
             'enabled': db_settings.email_enabled,
             'server_email': django_settings.SERVER_EMAIL,
             'admin_emails': django_settings.ADMINS,
             'smtp': {
                 'server': db_settings.email_smtp_server,
                 'port': db_settings.email_smtp_port,
                 'login': db_settings.email_smtp_login,
                 'password': db_settings.email_smtp_password
             }
         }
         return email
     except DatabaseError:
         return {}