def profile_data(request): if request.method == "POST": email = request.POST.get("email") first_name = request.POST.get("first_name") last_name = request.POST.get("last_name") time_zone = request.POST.get("time_zone") interests = request.POST.get("interests") profile_description = request.POST.get("profile_description") logger.info("email: %s" % email) logger.info("first_name: %s" % first_name) logger.info("last_name: %s" % last_name) logger.info("time_zone: %s" % time_zone) logger.info("interests: %s" % interests) logger.info("profile_description: %s" % profile_description) request.user.email = email request.user.first_name = first_name request.user.last_name = last_name request.user.save() profile = Profile.objects.get(user=request.user) logger.info("profile: %s" % profile) profile.timezone = time_zone profile.interests = interests profile.profile_description = profile_description profile.save() return redirect("profile_data") else: template = "profiles/profile_data.html" profile, created = Profile.objects.get_or_create(user=request.user) if created: logger.warning("created: %s" % created) logger.info("profile: %s" % profile) cryptos_string = get_cryptos_string(profile) contact_methods = ContactMethod.objects.filter(user=request.user, deleted=False) profile_picture_form = ProfilePictureForm() context = { "profile_index_active": "active", "underline_data": "text-underline", "profile": profile, "academia_blockchain_timezones": academia_blockchain_timezones(), "cryptos_string": cryptos_string, "contact_methods": contact_methods, "profile_picture_form": profile_picture_form } return render(request, template, context)
def user_profile(request, profile_id): template = "profiles/user_profile.html" profile = get_object_or_404(Profile, user__id=profile_id) contact_methods = ContactMethod.objects.filter(user=profile.user, deleted=False) cryptos_string = get_cryptos_string(profile) events = Event.objects.filter(owner=profile.user) context = { "profile": profile, "events": events, "contact_methods": contact_methods, "cryptos_string": cryptos_string } return render(request, template, context)