def edit_profile(request): context = _create_profile_context(request) context["active_tab"] = "edit" if request.method == "POST": user_profile_form = ProfileForm(request.POST, instance=request.user) context["user_profile_form"] = user_profile_form if not user_profile_form.is_valid(): messages.error(request, _("Noen av de påkrevde feltene mangler")) else: user_profile_form.save() messages.success(request, _("Brukerprofilen din ble endret")) return render(request, "profiles/index.html", context)
def settings(request): """Handles new interests, notifications, and event preferences""" interests = Interest.objects.filter( profile=request.user) # based on selected user only profile = Profile.objects.get(id=request.user.id) cities = UserCity.objects.filter(profile=request.user) if 'interest' in request.POST: interest_form = InterestForm(request.POST, prefix='interest') if interest_form.is_valid(): interest = interest_form.save(commit=False) interest.profile = request.user interest.save() return redirect("/settings") else: interest_form = InterestForm(prefix='interest') if 'notification' in request.POST: profile_form = ProfileForm(request.POST, prefix='notification', instance=request.user) if profile_form.is_valid(): profile = profile_form.save(commit=False) profile.save() return redirect("/settings") else: profile_form = ProfileForm(prefix='notification', instance=profile) if 'city' in request.POST: city_form = UserCityForm(request.POST, prefix='city') if city_form.is_valid(): city = city_form.save(commit=False) city.profile = request.user city.save() return redirect("/settings") else: city_form = UserCityForm(prefix='city') data = { 'user': request.user, 'interests': interests, 'profile': profile, 'interest_form': interest_form, 'profile_form': profile_form, 'cities': cities, 'city_form': city_form } return render(request, 'settings.html', data)
def settings(request): """Handles new interests, notifications, and event preferences""" interests = Interest.objects.filter(profile=request.user) # based on selected user only profile = Profile.objects.get(id=request.user.id) cities = UserCity.objects.filter(profile=request.user) if 'interest' in request.POST: interest_form = InterestForm(request.POST, prefix='interest') if interest_form.is_valid(): interest = interest_form.save(commit=False) interest.profile = request.user interest.save() return redirect("/settings") else: interest_form = InterestForm(prefix='interest') if 'notification' in request.POST: profile_form = ProfileForm(request.POST, prefix='notification', instance=request.user) if profile_form.is_valid(): profile = profile_form.save(commit=False) profile.save() return redirect("/settings") else: profile_form = ProfileForm(prefix='notification', instance=profile) if 'city' in request.POST: city_form = UserCityForm(request.POST, prefix='city') if city_form.is_valid(): city = city_form.save(commit=False) city.profile = request.user city.save() return redirect("/settings") else: city_form = UserCityForm(prefix='city') data = {'user': request.user, 'interests': interests, 'profile': profile, 'interest_form': interest_form, 'profile_form': profile_form, 'cities': cities, 'city_form': city_form } return render(request, 'settings.html', data)