def index(request): # EDIT PROFILE CODE user_profile = Profile.objects.get(user = request.user) if request.method == 'POST': if 'edit_profile' in request.POST: update_form = ProfileUpdateForm(data = request.POST, files= request.FILES, instance=user_profile) if update_form.is_valid(): profile = update_form.save(commit=False) if 'image' in request.FILES: profile.image = request.FILES['image'] update_form.save() update_form = ProfileUpdateForm(instance=user_profile) # GET CONTACT SEARCH DATA all_relations = request.user.profile.get_friends() # Get all relationship objects searched_contacts, searched_my_contacts = get_contacts(request) friends = get_friends_profiles_from_relations(request, all_relations) online_relations, offline_relations = get_online_users(request, friends) if searched_my_contacts: online_relations = [] offline_relations = [] received_requests, sent_requests = request.user.profile.get_pending_requests() context = { 'friends': all_relations, 'online_friends': online_relations, 'offline_friends': offline_relations, 'update_form':update_form, 'contacts': searched_contacts, 'searched_contacts': searched_my_contacts, 'received_requests':received_requests, 'sent_requests':sent_requests, } return render(request, 'chat/index.html', context)
def post(self, request, *args, **kwargs): profile = request.user.base_profile() form = ProfileUpdateForm(request.POST, instance=profile) next_url = request.GET.get('next', None) if form.is_valid(): profile = form.save(commit=False) profile.is_fresh = False profile.save() messages.success(request, 'Profile updated!', extra_tags='success') if next_url: return HttpResponseRedirect(next_url) else: return HttpResponseRedirect(reverse('profile_settings_basic_info_view')) else: context = { 'page_title': 'Update Basic Info', 'location': 'profile_settings', 'sublocation': 'basic', 'profile': profile, 'form': form } return render(request, 'neo/profile/settings/basic_info.html', context)
def get(self, request, *args, **kwargs): profile = request.user.base_profile() form = ProfileUpdateForm(instance=profile) next_url = request.GET.get('next', None) context = { 'page_title': 'Update Basic Info', 'location': 'profile_settings', 'sublocation': 'basic', 'profile': profile, 'form': form, 'next_url': next_url } return render(request, 'neo/profile/settings/basic_info.html', context)
def user_settings(request): if request.method == "POST": user_form = UserUpdateForm(request.POST, instance=request.user) profile_form = ProfileUpdateForm( request.POST, request.FILES, instance=Profile.objects.get(user=request.user)) if user_form.is_valid() and profile_form.is_valid(): user_form.save() profile_object = profile_form.save(commit=False) # can do anything between here profile_object.save() profile_form.save_m2m() messages.success(request, "Your profile has been updated") return redirect('home') else: user_form = UserUpdateForm(instance=request.user) profile_form = ProfileUpdateForm(instance=Profile.objects.get( user=request.user)) user_profile_forms = {'user_form': user_form, 'profile_form': profile_form} return render(request, 'profiles/settings.html', user_profile_forms)
def profile(request): if request.method == 'POST': u_form = UserUpdateForm(request.POST, instance=request.user) p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile) if u_form.is_valid() and p_form.is_valid(): u_form.save() p_form.save() messages.success(request, f'Your account has been updated!') return redirect('profile') else: u_form = UserUpdateForm(instance=request.user) p_form = ProfileUpdateForm(instance=request.user.profile) context = { 'u_form': u_form, 'p_form': p_form, } return render(request, 'users/profile.html', context)
def profile_update_view(request, *args, **kwargs): if not request.user.is_authenticated: # is_authenticated() return redirect("/login?next=/profile/update") user = request.user user_data = { "first_name": user.first_name, "last_name": user.last_name, "email": user.email } # my_profile = user.profile # form = ProfileForm(request.POST or None, instance=my_profile, initial=user_data) # if form.is_valid(): # profile_obj = form.save(commit=False) # first_name = form.cleaned_data.get('first_name') # last_name = form.cleaned_data.get('last_name') # email = form.cleaned_data.get('email') # user.first_name = first_name # user.last_name = last_name # user.email = email # user.save() # profile_obj.save() # context = { # "form": form, # "btn_label": "Save", # "title": "Update Profile" # } # return render(request, "profiles/form.html", context) u_form = UserUpdateForm(request.POST, instance=request.user) p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile) if u_form.is_valid() and p_form.is_valid(): u_form.save() p_form.save() else: u_form = UserUpdateForm(instance=request.user) p_form = ProfileUpdateForm(instance=request.user.profile) context = {'u_form': u_form, 'p_form': p_form} return render(request, "profiles/form.html", context)
def profile(request): if request.method == 'POST': u_form = UserUpdateForm(request.POST, instance=request.user) p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile) if u_form.is_valid() and p_form.is_valid(): u_form.save() p_form.save() return redirect('profile') else: u_form = UserUpdateForm(instance=request.user) p_form = ProfileUpdateForm(instance=request.user.profile) context = { 'u_form': u_form, 'p_form': p_form } return render(request, "accounts/auth.html", context)
def update(request, profile): form = ProfileUpdateForm(instance=profile) pwform = ChangePasswordForm() if request.method == 'POST': form = ProfileUpdateForm(request.POST, request.FILES, instance=profile) pwform = ChangePasswordForm() if form.is_valid(): profile = form.save() pwform.save() return redirect(profile) return render(request, 'profiles/update.html', dict( profile=profile, form=form, pwform=pwform, ))
def update_profile(self, request): form = ProfileUpdateForm(request.DATA, instance=request.user) if form.is_valid(): form.save() return Response(self.serializer_class(request.user).data) return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)