aboutsummaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorBobby <[email protected]>2022-07-29 23:37:04 +0530
committerBobby <[email protected]>2022-07-29 23:37:04 +0530
commit3ff2a1fc2363a8ce0416189b29357bae72fff11d (patch)
tree2981b595f7504599e4f9c7365f170bedbaef31ff /users
parent1a68b4097cd5c1e27fc72717eff9e3ace7bb5178 (diff)
downloadthatcomputerscientist-3ff2a1fc2363a8ce0416189b29357bae72fff11d.tar.xz
thatcomputerscientist-3ff2a1fc2363a8ce0416189b29357bae72fff11d.zip
Update Profile::account working
Diffstat (limited to 'users')
-rw-r--r--users/urls.py1
-rw-r--r--users/views.py37
2 files changed, 38 insertions, 0 deletions
diff --git a/users/urls.py b/users/urls.py
index 5c024aad..f649d11a 100644
--- a/users/urls.py
+++ b/users/urls.py
@@ -7,6 +7,7 @@ app_name = 'users'
urlpatterns = [
path('login', views.login_user, name='login'),
path('logout', views.logout_user, name='logout'),
+ path('update', views.update_user, name='update'),
]
# Configure Admin Site
diff --git a/users/views.py b/users/views.py
index f0d423b1..56ea9dab 100644
--- a/users/views.py
+++ b/users/views.py
@@ -2,6 +2,8 @@ from django.http import HttpResponseRedirect
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login, logout
from django.contrib import messages
+from .models import UserProfile
+from django.contrib.auth.models import User
# Create your views here.
@@ -28,3 +30,38 @@ def login_user(request):
def logout_user(request):
logout(request)
return redirect('/')
+
+def update_user(request):
+ username = request.user
+ first_name = request.POST['firstname']
+ last_name = request.POST['lastname']
+ location = request.POST['location']
+ gravatar_email = request.POST['gravatarEmail']
+ bio = request.POST['bio']
+ is_public = True if request.POST['isPublic'] == '1' else False
+ email_public = False
+ if 'emailPublic' in request.POST:
+ email_public = True if request.POST['emailPublic'] == '1' else False
+
+ if username is not None:
+ user = User.objects.get(username=username)
+ user.first_name = first_name
+ user.last_name = last_name
+ user.save()
+ try:
+ user_profile = UserProfile.objects.get(user=username)
+ user_profile.location = location
+ user_profile.gravatar_email = gravatar_email
+ user_profile.bio = bio
+ user_profile.is_public = is_public
+ user_profile.email_public = email_public
+ user_profile.save()
+ except UserProfile.DoesNotExist:
+ user_profile = UserProfile(user=username, location=location, gravatar_email=gravatar_email, bio=bio, is_public=is_public, email_public=email_public)
+ user_profile.save()
+ messages.success(request, 'Profile was successfully updated!')
+ return redirect('/account')
+ else:
+ messages.error(request, 'Unable to update profile! Please try again later.')
+ return redirect('/')
+