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 overview(request): try: profile = request.user.get_profile() except: profile = Profile() profile.user = request.user profile.save() return 'overview.html', {'profile': profile, 'groups': profile.get_groups()}
def _check_and_save_user_atomic(fb_user): try: #FIXME: This can be improved to be checked after uid in the facebook cookie user = User.objects.get(email=fb_user['email']) return (user, None, False) except User.DoesNotExist: # Save it to our db username = _get_username_from_fb_user(fb_user) user = User.objects.create(username=username, email=fb_user['email'], first_name=fb_user['first_name'].title(), last_name = fb_user['last_name'].title()) profile = Profile() profile.user = user profile.save(force_insert=True) return (user, profile, True)