def edit_profile(request, user_id): profile = get_user_profile(user_id) if profile: user_data = profile.__dict__ user_data.update(profile.user.__dict__) form = UserProfileForm(initial=user_data) else: user = get_user(user_id) form = UserProfileForm(initial=user.__dict__) if request.method == 'POST': form = UserProfileForm(request.POST, request.FILES) if form.is_valid(): user_data = {} user_data.update(form.cleaned_data) if request.FILES.get('avatar'): user_data['avatar'] = request.FILES['avatar'] else: del user_data['avatar'] create_or_update_profile(user_id, **user_data) return HttpResponseRedirect(reverse('profile', args=[user_id])) return render_to_response('user/profile_edit.html', { 'form': form, 'profile': profile, }, context_instance=RequestContext(request))
def register_user(request): form = UserCreateForm() if request.method == 'POST': form = UserCreateForm(request.POST) if form.is_valid(): try: user = form.save() user = authenticate(username=request.POST['email'], password=request.POST['password1']) if user is not None: if user.is_active: create_or_update_profile(user.id) login(request, user) return HttpResponseRedirect(reverse('profile', args=[user.pk])) except UserAlreadyExistsError: messages.error(request, 'Uporabnik s tem emailom ze obstaja') return render_to_response( 'user/registration.html', { 'form': form, }, context_instance=RequestContext(request))
def edit_profile(request, user_id): current_user = request.user.id if current_user == int(user_id): profile = get_user_profile(user_id) if profile: form = UserProfileForm(initial=profile.__dict__) else: form = UserProfileForm() if request.method == 'POST': form = UserProfileForm(request.POST, request.FILES) if form.is_valid(): # user profile create or update user_data = {} user_data.update(form.cleaned_data) profile = create_or_update_profile(user_id, **user_data) return HttpResponseRedirect(reverse('profile', args=[user_id])) return render_to_response('registration/user_profile.html', { 'form': form, 'profile': profile, }, context_instance=RequestContext(request)) else: return HttpResponseRedirect("/")