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('')
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('')