Ejemplo n.º 1
0
def change_password(request):
    if request.method == 'POST':
        form = ChangePasswordForm(user=request.user, data=request.POST)
        if request.is_ajax():
            if form.is_valid():
                form.save()
                data = {'changed': True}
            else:
                data = {
                    'changed': False,
                    'errors': dict([(k, [e for e in v])
                                    for k, v in form.errors.items()])
                }

            return JSONResponse(data)
Ejemplo n.º 2
0
def personal(request):
    args = {}
    user = request.user

    userprofile = UserProfile.objects.get(user=request.user)
    if request.method == 'POST' and ('update_info' in request.POST):
        update_user_form = UpdateUserForm(request.POST, instance=user)
        update_userprofile_form = UpdateUserProfileForm(request.POST, request.FILES, instance=userprofile)
        if update_user_form.is_valid() and update_userprofile_form.is_valid():
            update_user_form.save()
            update_userprofile_form.save()
            return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
        else:
            update_user_form = UpdateUserForm(instance=user)
            update_userprofile_form = UpdateUserProfileForm(instance=userprofile)
    person_form = UpdateUserForm(instance=user)
    person_form_info = UpdateUserProfileForm(instance=userprofile)
    args['person'] = person_form
    args['person_info'] = person_form_info

    password_form = ChangePasswordForm(user=request.user)
    if request.method == 'POST' and ('change_password' in request.POST):
        password_form = ChangePasswordForm(user=request.user, data=request.POST)
        if password_form.is_valid():
            password_form.save()

            update_session_auth_hash(request, password_form.user)
    args['password_form'] = password_form
    if request.method == 'POST' and ('delete_profile' in request.POST):
        user = request.user
        user.delete()
        return redirect('index')
    if request.method == 'POST' and ('delete_photo' in request.POST):
        userprofile.photo.delete()
        return redirect('personal')
    if userprofile.photo:
        args['url'] = userprofile.photo.url
    else:
        args['url'] = ''
    return render(request, 'personal.html', args)