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