Exemple #1
0
def register(request):
    if request.method == 'POST':
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileForm(request.POST, request.FILES)

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user
            profile.save()

            login(request,
                  user,
                  backend='django.contrib.auth.backends.ModelBackend')
            messages.success(request, 'Account successfully created!')
            return redirect('my_account')
    else:
        user_form = UserForm()
        profile_form = UserProfileForm()

    context_dict = {'user_form': user_form, 'profile_form': profile_form}
    return render(request, 'webapp/register.html', context_dict)
Exemple #2
0
def my_account_edit(request):
    profile = get_object_or_404(UserProfile, user=request.user)

    if request.method == 'POST':
        # change password
        password_form = PasswordChangeForm(request.user, request.POST)
        if password_form.is_valid():
            user = password_form.save()
            update_session_auth_hash(request, user)
            messages.success(request,
                             'Your password was successfully updated!')
            return redirect('my_account_edit')

        # update user details
        user_form = UserEditForm(request.POST, instance=request.user)
        profile_form = UserProfileForm(request.POST,
                                       request.FILES,
                                       instance=profile)
        if profile_form.is_valid() and user_form.is_valid():
            profile_form.save()
            user_form.save()
            messages.success(request, 'Account details successfully updated!')
            return redirect('my_account_edit')

    else:
        password_form = PasswordChangeForm(request.user)
        profile_form = UserProfileForm(instance=profile)
        user_form = UserEditForm(instance=request.user)

    context_dict = {
        'password_form': password_form,
        'profile_form': profile_form,
        'user_form': user_form
    }
    return render(request, 'webapp/my-account-edit.html', context_dict)
Exemple #3
0
def register(request, user_type):

    if request.user.is_authenticated():
        return HttpResponseRedirect('/')

    context_dict = {}

    if request.method == 'POST':
        user_form = UserForm(data=request.POST)
        user_profile_form = UserProfileForm(data=request.POST)

        if user_form.is_valid() and user_profile_form.is_valid():
            # User
            user = user_form.save()
            user.set_password(user.password)
            user.save()

            # UserProfile
            user_profile = user_profile_form.save(commit=False)
            user_profile.user = user
            if 'picture' in request.FILES:
                user_profile.picture = request.FILES['picture']
            else:
                user_profile.picture = 'img/user_avatar.png'
            user_profile.save()

            # Fan/Band Profile
            if user_type == 'fan':
                profile = FanProfile.objects.get_or_create(
                    profile=user_profile)
            else:
                profile = BandProfile.objects.get_or_create(
                    profile=user_profile)

            # Auto login.
            user_login(request)

            return HttpResponseRedirect('/')
    else:
        user_form = UserForm()
        profile_form = UserProfileForm()
        context_dict['profile_form'] = profile_form
        context_dict['user_form'] = user_form

    return render(request, 'webapp/register.html', context_dict)