1
1
from django .db import models
2
2
from django .utils .translation import ugettext_lazy as _
3
3
from django .contrib .auth .models import User
4
- import random
5
- import string
4
+ from django .conf import settings
6
5
7
6
8
7
class InvitationCode (models .Model ):
@@ -15,3 +14,22 @@ class InvitationCode(models.Model):
15
14
used_date = models .DateTimeField (blank = True , null = True , auto_now_add = True ,
16
15
verbose_name = _ (u"Used on" ))
17
16
17
+ def send_activation_email (self , site ):
18
+ """Send the activation mail"""
19
+ from django .core .mail import EmailMultiAlternatives
20
+ from django .template .loader import render_to_string
21
+
22
+ ctx_dict = {'activation_key' : self .activation_key ,
23
+ 'expiration_days' : settings .ACCOUNT_ACTIVATION_DAYS ,
24
+ 'site' : site }
25
+ subject = render_to_string ('registration/activation_email_subject.txt' ,
26
+ ctx_dict )
27
+ # Email subject *must not* contain newlines
28
+ subject = '' .join (subject .splitlines ())
29
+
30
+ message_text = render_to_string ('registration/activation_email.txt' , ctx_dict )
31
+ message_html = render_to_string ('registration/activation_email.html' , ctx_dict )
32
+
33
+ msg = EmailMultiAlternatives (subject , message_text , settings .DEFAULT_FROM_EMAIL , [self .user .email ])
34
+ msg .attach_alternative (message_html , "text/html" )
35
+ msg .send ()
0 commit comments