def handle(self, *args, **kwargs):
        since = datetime.utcnow() - settings.CONFIRMATION_TIMEOUT - timedelta(hours=6)
        users = User.objects.filter(email__isnull=True, registered__lt=since)

        template = loader.get_template('core/notify_unconfirmed.txt')
        subject = "Please set your email address at https://account.jabber.at"

        count = 0
        self.stdout.write("Sending message to %s users" % len(users))

        for user in users:
            count += 1
            if count % 100 == 0:
                self.stdout.write('%s... ' % count, ending='')

            try:
                context = Context({
                    'user': user.username,
                    'domain': user.domain,
                })
                message = unicode(template.render(context))
                backend.message(user.username, user.domain, subject, message)
            except Exception as e:
                self.stderr.write("Message failed for %s: %s: %s" % (user.jid, type(e).__name__, e))
        self.stdout.write('')
Esempio n. 2
0
    def handle_key(self, key, form):
        data = json.loads(key.payload)
        key.user.gpg_fingerprint = data.get('gpg_fingerprint')
        key.user.confirmed = now()
        key.user.save()

        backend.create(username=key.user.username, domain=key.user.domain, email=key.user.email,
                       password=form.cleaned_data['password'])
        if settings.WELCOME_MESSAGE is not None:
            reset_pass_path = reverse('ResetPassword')
            reset_mail_path = reverse('ResetEmail')
            delete_path = reverse('Delete')

            context = {
                'username': key.user.username,
                'domain': key.user.domain,
                'email': key.user.email,
                'password_reset_url': self.request.build_absolute_uri(location=reset_pass_path),
                'email_reset_url': self.request.build_absolute_uri(location=reset_mail_path),
                'delete_url': self.request.build_absolute_uri(location=delete_path),
                'contact_url': self.request.site['CONTACT_URL'],
            }
            subject = settings.WELCOME_MESSAGE['subject'].format(**context)
            message = settings.WELCOME_MESSAGE['message'].format(**context)
            backend.message(username=key.user.username, domain=key.user.domain, subject=subject,
                            message=message)
    def handle(self, *args, **kwargs):
        since = datetime.utcnow() - settings.CONFIRMATION_TIMEOUT - timedelta(
            hours=6)
        users = User.objects.filter(email__isnull=True, registered__lt=since)

        template = loader.get_template('core/notify_unconfirmed.txt')
        subject = "Please set your email address at https://account.jabber.at"

        count = 0
        self.stdout.write("Sending message to %s users" % len(users))

        for user in users:
            count += 1
            if count % 100 == 0:
                self.stdout.write('%s... ' % count, ending='')

            try:
                context = Context({
                    'user': user.username,
                    'domain': user.domain,
                })
                message = unicode(template.render(context))
                backend.message(user.username, user.domain, subject, message)
            except Exception as e:
                self.stderr.write("Message failed for %s: %s: %s" %
                                  (user.jid, type(e).__name__, e))
        self.stdout.write('')