Revision 49790d9d snf-astakos-app/astakos/im/functions.py

b/snf-astakos-app/astakos/im/functions.py
39 39
from django.core.mail import send_mail
40 40
from django.core.urlresolvers import reverse
41 41
from django.core.exceptions import ValidationError
42
from django.template import Context, loader
42 43

  
43 44
from urllib import quote
44 45
from urlparse import urljoin
......
156 157
    else:
157 158
        logger.info('Sent feedback from %s', user.email)
158 159

  
160
def send_change_email(ec, request, email_template_name='registration/email_change_email.txt'):
161
    try:
162
        url = reverse('email_change_confirm',
163
                      kwargs={'activation_key':ec.activation_key})
164
        url = request.build_absolute_uri(url)
165
        t = loader.get_template(email_template_name)
166
        c = {'url': url, 'site_name': SITENAME}
167
        from_email = DEFAULT_FROM_EMAIL
168
        send_mail(_("Email change on %s alpha2 testing") % SITENAME,
169
            t.render(Context(c)), from_email, [ec.new_email_address])
170
    except (SMTPException, socket.error) as e:
171
        logger.exception(e)
172
        raise ChangeEmailError()
173
    else:
174
        logger.info('Sent change email for %s', ec.user.email)
175

  
159 176
def activate(user, email_template_name='im/welcome_email.txt'):
160 177
    """
161 178
    Activates the specific user and sends email.
......
214 231
class SendFeedbackError(SendMailError):
215 232
    def __init__(self):
216 233
        self.message = _('Failed to send feedback')
217
        super(SendFeedbackError, self).__init__()
234
        super(SendFeedbackError, self).__init__()
235

  
236
class ChangeEmailError(SendMailError):
237
    def __init__(self):
238
        self.message = _('Failed to send change email')
239
        super(ChangeEmailError, self).__init__()

Also available in: Unified diff