Commit 32000fa55fd2f198da0839e70bc676804fca15ba
Exists in
master
and in
5 other branches
Merge branch 'dev' of https://github.com/amadeusproject/amadeuslms into dev
Showing
5 changed files
with
75 additions
and
3 deletions
Show diff stats
amadeus/settings.py
| ... | ... | @@ -205,7 +205,8 @@ EMAIL_HOST = 'smtp.gmail.com' |
| 205 | 205 | EMAIL_PORT = 587 |
| 206 | 206 | EMAIL_HOST_USER = 'amadeusteste@gmail.com' |
| 207 | 207 | EMAIL_HOST_PASSWORD = 'amadeusteste' |
| 208 | -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' | |
| 208 | +# SMTP CONFIG | |
| 209 | +# EMAIL_BACKEND = 'core.smtp.AmadeusEmailBackend' | |
| 209 | 210 | |
| 210 | 211 | #s3direct |
| 211 | 212 | ... | ... |
| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +# Generated by Django 1.10 on 2016-11-03 22:03 | |
| 3 | +from __future__ import unicode_literals | |
| 4 | + | |
| 5 | +from django.db import migrations, models | |
| 6 | + | |
| 7 | + | |
| 8 | +class Migration(migrations.Migration): | |
| 9 | + | |
| 10 | + initial = True | |
| 11 | + | |
| 12 | + dependencies = [ | |
| 13 | + ] | |
| 14 | + | |
| 15 | + operations = [ | |
| 16 | + migrations.CreateModel( | |
| 17 | + name='EmailBackend', | |
| 18 | + fields=[ | |
| 19 | + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | |
| 20 | + ('description', models.CharField(max_length=100, verbose_name='Description')), | |
| 21 | + ('host', models.URLField(verbose_name='E-mail Host')), | |
| 22 | + ('port', models.CharField(blank=True, max_length=4, verbose_name='Email Port')), | |
| 23 | + ('username', models.CharField(max_length=30, verbose_name='Email host username')), | |
| 24 | + ('password', models.CharField(blank=True, max_length=30, verbose_name='Email host password')), | |
| 25 | + ('safe_conection', models.IntegerField(choices=[(0, 'No'), (1, 'TLS, if available'), (2, 'TLS'), (3, 'SSL')], default=0, verbose_name='Use safe conection')), | |
| 26 | + ('default_from_email', models.EmailField(blank=True, max_length=254, verbose_name='Default from email')), | |
| 27 | + ], | |
| 28 | + options={ | |
| 29 | + 'verbose_name_plural': 'Amadeus SMTP settings', | |
| 30 | + 'verbose_name': 'Amadeus SMTP setting', | |
| 31 | + }, | |
| 32 | + ), | |
| 33 | + ] | ... | ... |
| ... | ... | @@ -0,0 +1,38 @@ |
| 1 | +from django.core.mail.backends import EmailBackend | |
| 2 | +from app.models import EmailBackend as SmtpModal | |
| 3 | + | |
| 4 | +class AmadeusEmailBackend(EmailBackend): | |
| 5 | + """docstring for AmadeusEmailBackend""" | |
| 6 | + def __init__(self, host=None, port=None, username=None, password=None, | |
| 7 | + use_tls=None, fail_silently=False, use_ssl=None, timeout=None, | |
| 8 | + ssl_keyfile=None, ssl_certfile=None, | |
| 9 | + **kwargs): | |
| 10 | + super(AmadeusEmailBackend, self).__init__(fail_silently=fail_silently) | |
| 11 | + try: | |
| 12 | + config = SmtpModal.objects.latest('id') | |
| 13 | + self.host = config.host or settings.EMAIL_HOST | |
| 14 | + self.port = config.port or settings.EMAIL_PORT | |
| 15 | + self.username = config.username or settings.EMAIL_HOST_USER if username is None else username | |
| 16 | + self.password = config.password or settings.EMAIL_HOST_PASSWORD if password is None else password | |
| 17 | + | |
| 18 | + if config.safe_conection == 2: | |
| 19 | + self.use_tls = True | |
| 20 | + self.use_ssl = False | |
| 21 | + elif config.safe_conection == 3: | |
| 22 | + self.use_tls = False | |
| 23 | + self.use_ssl = True | |
| 24 | + else: | |
| 25 | + self.use_tls = False | |
| 26 | + self.use_ssl = False | |
| 27 | + | |
| 28 | + self.timeout = settings.EMAIL_TIMEOUT if timeout is None else timeout | |
| 29 | + self.ssl_keyfile = settings.EMAIL_SSL_KEYFILE if ssl_keyfile is None else ssl_keyfile | |
| 30 | + self.ssl_certfile = settings.EMAIL_SSL_CERTFILE if ssl_certfile is None else ssl_certfile | |
| 31 | + if self.use_ssl and self.use_tls: | |
| 32 | + raise ValueError( | |
| 33 | + "EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive, so only set " | |
| 34 | + "one of those settings to True.") | |
| 35 | + self.connection = None | |
| 36 | + self._lock = threading.RLock() | |
| 37 | + except: | |
| 38 | + pass | |
| 0 | 39 | \ No newline at end of file | ... | ... |
users/templates/list_users.html
| ... | ... | @@ -90,8 +90,8 @@ |
| 90 | 90 | {% trans 'Are you sure you want to delete the user' %} <b>{{acc.name}}</b>? |
| 91 | 91 | </div> |
| 92 | 92 | <div class="modal-footer"> |
| 93 | - <button type="button" class="btn btn-default" data-dismiss="modal">{% trans 'Cancel' %}</button> | |
| 94 | - <button type="button" class="btn btn-primary"> <a href="{% url 'users:delete' acc.username %}">{% trans 'Delete' %}</a></button> | |
| 93 | + <a href="#" class="btn btn-raised btn-danger" data-dismiss="modal">{% trans 'Cancel' %}</a> | |
| 94 | + <a href="{% url 'users:delete' acc.username %}" class="btn btn-raised btn-success" style="margin-top: 0">{% trans 'Delete' %}</a> | |
| 95 | 95 | </div> |
| 96 | 96 | </div> |
| 97 | 97 | </div> | ... | ... |