def create_user(request): if request.method == "POST": form = ProfileCreationForm(request.POST) if form.is_valid(): data = form.cleaned_data if request.user.is_authenticated(): user = request.user user.backend = "django.contrib.auth.backends.ModelBackend" else: user = form.save() profile = Profile() profile.user = user user.email = data["email"] profile.dob = data["dob"] profile.gender = data["gender"] profile.phone = data["phone"] profile.save() user.save() user = authenticate(username=request.POST["username"], password=request.POST["password1"]) login(request, user) return HttpResponseRedirect(reverse("home")) else: if request.user: user = request.user context = {} context["username"] = user.username context["first_name"] = user.first_name context["last_name"] = user.last_name context["email"] = user.email form = ProfileCreationForm(context) return render(request, "profile_registration.html", {"form": form})
def test_valid_data(self): form = ProfileCreationForm({ 'username': '******', 'first_name': 'Traci', 'last_name': 'Armstrong', 'email': '*****@*****.**', 'dob': '08-08-1980', 'gender': 'F', 'phone': '321-123-1234', 'password1': 'pass', 'password2': 'pass' }) self.assertTrue(form.is_valid()) profile = form.save() self.assertEqual(profile.username, 'traci111') self.assertEqual(profile.first_name, 'Traci') self.assertEqual(profile.last_name, 'Armstrong') self.assertEqual(profile.email, '*****@*****.**')