Esempio n. 1
0
def profile_for_user(request, user):
    all_fields_are_required = request.GET.get('full', False)

    if request.method == 'POST':
        form = forms.UserProfileForm(
            all_fields_are_required=all_fields_are_required, data=request.POST)
        if form.is_valid():
            form.fill_user_profile(user).save()
            return shortcuts.redirect('home')
    else:
        if hasattr(user, 'profile'):
            initial_data = {}
            for field_name in models.UserProfile.get_field_names():
                initial_data[field_name] = getattr(user.profile, field_name)
        else:
            initial_data = {
                'first_name': user.first_name,
                'last_name': user.last_name
            }
        form = forms.UserProfileForm(
            all_fields_are_required=all_fields_are_required,
            initial=initial_data)

    return shortcuts.render(
        request, 'users/profile.html', {
            'form': form,
            'is_creating': not hasattr(user, 'profile'),
            'is_confirming': request.GET.get('confirm', False)
        })
Esempio n. 2
0
def find_similar_accounts(request):
    form = forms.UserProfileForm(all_fields_are_required=False,
                                 data=request.POST)
    form.full_clean()
    users = search_utils.SimilarAccountSearcher(
        form.fill_user_profile(request.user)).search()
    return django.http.JsonResponse(
        {user.id: _render_user_account(user)
         for user in users})
Esempio n. 3
0
def register(request):
    if request.user.is_authenticated:
        return redirect('catalog:index')

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

        if user_form.is_valid() and user_profile_form.is_valid():
            username = user_form.cleaned_data.get('username')
            messages.success(
                request,
                f'Congratulations! You are successfully registered as {username}.'
            )
            user = user_form.save()

            # Password Hashing
            user.set_password(user.password)
            user.save()

            profile = user_profile_form.save(commit=False)

            # We need to state one to one relation before saving
            profile.user = user

            if 'profile_picture' in request.FILES:
                profile.profile_picture = request.FILES['profile_picture']

            profile.save()

            return redirect('users:login')

        else:
            pass
    else:
        user_form = forms.UserForm()
        user_profile_form = forms.UserProfileForm()

    return render(request, 'users/register.html', {
        'user_form': user_form,
        'user_profile_form': user_profile_form
    })
Esempio n. 4
0
def user_account(request):
    user = request.user

    if user.active_organization is None and 'organization_pk' not in request.session:
        return redirect(reverse('main'))

    form = forms.UserProfileForm(instance=user)
    token = Token.objects.get(user=user)

    if request.method == 'POST':
        form = forms.UserProfileForm(request.POST, instance=user)
        if form.is_valid():
            form.save()
            return redirect(reverse('user-account'))

    return render(request, 'users/user_account.html', {
        'settings': settings,
        'user': user,
        'user_profile_form': form,
        'token': token
    })
Esempio n. 5
0
def personal(request):
    if request.method == 'POST':
        msg = {}
        old_passwd = request.POST.get('old_passwd')

        new_password = request.POST.get('new_passwd')
        user = auth.authenticate(username=request.user.email,password=old_passwd)
        if user is not None:
            request.user.set_password(new_password)
            request.user.save()
            msg['msg'] = 'Password has been changed!'
            msg['res'] = 'success'
        else:
            msg['msg'] = 'Old password is incorrect!'
            msg['res'] = 'failed'

        return HttpResponse(json.dumps(msg))
    else:
        return render(request,'personal.html',{'info_form':forms.UserProfileForm()})
Esempio n. 6
0
def register(request):
    """Adds a new user by saving and linking User and UserProfile forms."""
    if request.method != 'POST':
        return render(request, 'register.html')

    user_form = forms.UserForm(request.POST)
    profile_form = forms.UserProfileForm(request.POST)

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

    # Log the new user in
    return login(request)
Esempio n. 7
0
def register(request):
    """Returns registration page and adds a new user to database."""
    if request.method != 'POST':
        return render(request, 'register.html')

    user_form = forms.UserForm(request.POST)
    profile_form = forms.UserProfileForm(request.POST)

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

    # Log the new user in
    return login(request)