Exemplo n.º 1
0
    def create_user(self, username, email=None, password=None, force_email_valid=False, send_email_confirmation=True):
        """
        Creates and saves a User with the given username, email and password.
        """
        now = timezone.now()
        if not username:
            raise ValueError('The given username must be set')
        email = UserManager.normalize_email(email)
        user = self.model(username=username, email=email,
                          is_staff=False, is_active=True, is_superuser=False,
                          last_login=now, date_joined=now)

        if force_email_valid:
            user.is_valid_email = True
            send_email_confirmation = False
            password = self.make_random_password()

            current_site = Site.objects.get_current()
            subject = _(u'You just created account on %(site)s') % {'site': current_site.name}

            context = {
                'email': user.email,
                'password': password,
                'current_site': current_site
            }
            send_templated_email(user.email, subject, 'accounts/email_new_user.html', context, fail_silently=settings.DEBUG)

        user.set_password(password)
        user.save(using=self._db, send_email_confirmation=send_email_confirmation)
        return user
Exemplo n.º 2
0
    def send_confirmation(self, user):
        assert user.email

        self.filter(user=user).delete()

        salt = sha_constructor(str(random.random()) + settings.SECRET_KEY).hexdigest()[:5]
        confirmation_key = sha_constructor(salt + user.email.encode('utf8')).hexdigest()
        try:
            current_site = Site.objects.get_current()
        except Site.DoesNotExist:
            return
        path = reverse("accounts:confirm_email", args=[confirmation_key])
        activate_url = u"http://%s%s" % (unicode(current_site.domain), path)
        context = {
            "user": user,
            "activate_url": activate_url,
            "current_site": current_site,
            "confirmation_key": confirmation_key,
        }
        subject = _(u'Please confirm your email address for %(site)s') % {'site': current_site.name}
        send_templated_email(user.email, subject, 'accounts/email_confirmation_message.html', context, fail_silently=settings.DEBUG)
        return self.create(
            user=user,
            sent=timezone.now(),
            confirmation_key=confirmation_key)
Exemplo n.º 3
0
    def create_user(self, username, email=None, password=None, force_email_valid=False,
                    send_email_confirmation=True):
        """
        Creates and saves a User with the given username, email and password.
        """
        now = timezone.now()
        if not username:
            raise ValueError('The given username must be set')
        email = UserManager.normalize_email(email)
        user = self.model(username=username, email=email,
                          is_staff=False, is_active=True, is_superuser=False,
                          last_login=now, date_joined=now)

        if force_email_valid:
            user.is_valid_email = True
            send_email_confirmation = False
            password = self.make_random_password()

            current_site = Site.objects.get_current()
            subject = _('You just created account on %(site)s') % {'site': current_site.name}

            context = {
                'email': user.email,
                'password': password,
                'current_site': current_site
            }
            send_templated_email(user.email, subject, 'accounts/email_new_user.html', context,
                                 fail_silently=settings.DEBUG)

        user.set_password(password)
        user.save(using=self._db, send_email_confirmation=send_email_confirmation)
        return user
Exemplo n.º 4
0
    def send_confirmation(self, user):
        assert user.email

        self.filter(user=user).delete()

        salt = hashlib.sha1(str(random.random()) + settings.SECRET_KEY).hexdigest()[:5]
        confirmation_key = hashlib.sha1(salt + user.email.encode('utf8')).hexdigest()
        try:
            current_site = Site.objects.get_current()
        except Site.DoesNotExist:
            return
        path = reverse('accounts:confirm_email', args=[confirmation_key])
        activate_url = 'http://%s%s' % (unicode(current_site.domain), path)
        context = {
            'user': user,
            'activate_url': activate_url,
            'current_site': current_site,
            'confirmation_key': confirmation_key,
        }
        subject = _('Please confirm your email address for %(site)s') % {'site': current_site.name}
        send_templated_email(user.email, subject, 'accounts/email_confirmation_message.html',
                             context, fail_silently=settings.DEBUG)
        return self.create(
            user=user,
            sent=timezone.now(),
            confirmation_key=confirmation_key)
Exemplo n.º 5
0
    def send_email_about_post(self, post):
        if not self.do_send_notification():
            return

        subject = _(u'New post for your topic "%(topic)s"') % {'topic': self}
        context = {'post': post}
        send_templated_email(self.user.email,
                             subject,
                             'djforum/email_new_post.html',
                             context,
                             fail_silently=settings.DEBUG)
Exemplo n.º 6
0
    def send_email_about_post(self, post):
        if not self.do_send_notification():
            return

        subject = _(u'New post for your topic "%(topic)s"') % {'topic': self}
        context = {
            'post': post
        }
        send_templated_email(
            self.user.email, subject,
            'djforum/email_new_post.html',
            context,
            fail_silently=settings.DEBUG
        )