def form_valid(self, form): # activate user... models.RegistrationProfile.objects.create_inactive_user( form.cleaned_data['first_name'], form.cleaned_data['last_name'], form.cleaned_data['username'], form.cleaned_data['password1'], form.cleaned_data['email'], get_site(self.request)) return super(Register, self).form_valid(form)
def test_get_email_context_when_request_is_secure(self): request = test.RequestFactory().get("/", secure=True) site = get_site(request) form = self.sut(data=self.form_data) form.is_valid() form.activation_html_template_name = None form.create_inactive_user(request, send_email=True) activation_key = form.user.registrationprofile.activation_key activation_path = reverse( "registration_activate", kwargs={"activation_key": activation_key}) activation_url = "{protocol}://{host}{path}".format( protocol="https", host=request.get_host(), path=activation_path) expected_context = dict({ "activation_key": activation_key, "activation_url": activation_url, "expiration_days": settings.ACCOUNT_ACTIVATION_DAYS, "site": site, }, **self.form_data) self.assertEqual(expected_context, form.get_email_context(site))
def form_valid(self, form): # activate user... models.RegistrationProfile.objects.create_inactive_user( form.cleaned_data['username'], form.cleaned_data['password1'], form.cleaned_data['email'], get_site(self.request) ) return super(Register, self).form_valid(form)
def send_activation_email(self, user): current_site = get_site(self.request) mail_kwargs = {} subject = self._get_activation_subject(current_site) message = self._get_activation_message(current_site, self.activation_template_name) if self.activation_html_template_name: mail_kwargs['html_message'] = self._get_activation_message(current_site, self.activation_html_template_name) user.email_user(subject, message, settings.DEFAULT_FROM_EMAIL, **mail_kwargs)
def test_sends_activation_email_in_create_inactive_user(self): request = test.RequestFactory().get("/") site = get_site(request) form = self.sut(data=self.form_data) form.is_valid() form.create_inactive_user(request, send_email=True) self.assertEqual(1, len(mail.outbox)) self.assertEqual([self.form_data['email']], mail.outbox[0].to) self.assertEqual(settings.DEFAULT_FROM_EMAIL, mail.outbox[0].from_email) self.assertEqual(form._get_activation_subject(site), mail.outbox[0].subject) expected_content = form._get_activation_message(site, form.activation_template_name) self.assertEqual(expected_content, mail.outbox[0].body) expected_html = form._get_activation_message(site, form.activation_html_template_name) self.assertHTMLEqual(expected_html, mail.outbox[0].alternatives[0][0])
def resend_activation_email(self, request, queryset): site = get_site(request) for profile in queryset: if not profile.activation_key_expired(): profile.send_activation_email(site)