diff options
| author | Bobby <[email protected]> | 2022-07-29 23:37:04 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2022-07-29 23:37:04 +0530 |
| commit | 3ff2a1fc2363a8ce0416189b29357bae72fff11d (patch) | |
| tree | 2981b595f7504599e4f9c7365f170bedbaef31ff /users | |
| parent | 1a68b4097cd5c1e27fc72717eff9e3ace7bb5178 (diff) | |
| download | thatcomputerscientist-3ff2a1fc2363a8ce0416189b29357bae72fff11d.tar.xz thatcomputerscientist-3ff2a1fc2363a8ce0416189b29357bae72fff11d.zip | |
Update Profile::account working
Diffstat (limited to 'users')
| -rw-r--r-- | users/urls.py | 1 | ||||
| -rw-r--r-- | users/views.py | 37 |
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('/') + |
