From 650c0ea5b2a3f6d3d7921fe92c02995c6dac3f6f Mon Sep 17 00:00:00 2001 From: Ofir Matasas Date: Sun, 17 Apr 2022 18:55:58 +0300 Subject: [PATCH] Adding user picture and username to navbar. When the user is logged into Hotails, they'll see their profile picture, and their username in every page on Hotails. Signed-off-by: Ofir Matasas Signed-off-by: tamirmatok --- Hotails/settings.py | 1 + Hotails/urls.py | 3 +- main/context_processors.py | 21 ++++++++++ main/templates/main/base_template.html | 55 +++++++++----------------- main/templates/main/homepage.html | 5 +-- static/css/sidebar.css | 31 ++++++++++++--- 6 files changed, 69 insertions(+), 47 deletions(-) create mode 100644 main/context_processors.py diff --git a/Hotails/settings.py b/Hotails/settings.py index c993bec..4e1232c 100644 --- a/Hotails/settings.py +++ b/Hotails/settings.py @@ -67,6 +67,7 @@ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'main.context_processors.navbar_extras' ], }, }, diff --git a/Hotails/urls.py b/Hotails/urls.py index 7ef422e..4513ba6 100644 --- a/Hotails/urls.py +++ b/Hotails/urls.py @@ -14,12 +14,11 @@ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include from main import views from django.contrib.auth import views as auth_views urlpatterns = [ - path('admin/', admin.site.urls), path('', views.index, name='index'), path('login/', auth_views.LoginView.as_view(template_name='main/login.html', diff --git a/main/context_processors.py b/main/context_processors.py new file mode 100644 index 0000000..7f4f3a5 --- /dev/null +++ b/main/context_processors.py @@ -0,0 +1,21 @@ +from daycare.models import DayCare, Image +from dogowner.models import DogOwner + + +def navbar_extras(request): + navbar_picture_url = navbar_name = None + if request.user.is_authenticated: + if DogOwner.objects.filter(user=request.user).exists(): + dog_owner = DogOwner.objects.filter(user=request.user).first() + navbar_picture_url = dog_owner.dog_picture_url + navbar_name = dog_owner.first_name + ' ' + dog_owner.last_name + + elif DayCare.objects.filter(user=request.user).exists(): + daycare = DayCare.objects.filter(user=request.user).first() + navbar_picture_url = Image.objects.filter(daycare_id=daycare).first().url + navbar_name = daycare.name + context = { + 'navbar_picture_url': navbar_picture_url, + 'navbar_name': navbar_name, + } + return context diff --git a/main/templates/main/base_template.html b/main/templates/main/base_template.html index a494d5c..cb1d442 100644 --- a/main/templates/main/base_template.html +++ b/main/templates/main/base_template.html @@ -17,52 +17,33 @@ {% endblock %}
-
-
-
- {% if user.is_authenticated %} -
- {{ name }} image -
-
-

Welcome, {{ username }}!

-
- {% if dog_name %} -
Let’s find the perfect daycare for {{dog_name}}! - {% else %} -
Ready to take care of dogs today? - {% endif %} -
-
-
-
-
- {% endif %} -
-
+
{% block content %} {% endblock %}
diff --git a/main/templates/main/homepage.html b/main/templates/main/homepage.html index 6e43dba..c0ebcdc 100644 --- a/main/templates/main/homepage.html +++ b/main/templates/main/homepage.html @@ -1,6 +1,5 @@ {% extends "main/base_template.html" %} +{% load static %} {% block content %} - -

Coming soon...

- +

Coming soon...

{% endblock %} diff --git a/static/css/sidebar.css b/static/css/sidebar.css index 598383d..793c73e 100644 --- a/static/css/sidebar.css +++ b/static/css/sidebar.css @@ -1,10 +1,12 @@ +header ul li { + font-size: 1.1rem; +} + .sidebar-profile-img { border-radius: 50%; - margin-left: 20%; - margin-top: 10%; - height: 15rem; - width: 15rem; + height: 2.5rem; + width: 2.5rem; } .card @@ -15,7 +17,26 @@ width: 108%; } +#welcomeMsg { + padding-left:10px; + padding-bottom:0; + margin-top:5px; + color:#FFF; + float:left; +} + +#logoutHref { + background-color:#1e1e1e; + border-radius:12px; + color:#E19512; + font-weight:bold; + float:right; + padding: 5px 10px 5px 10px; + font-size:1rem; + margin:1px 0 0 20px; +} + .card-title { font-size: xx-large; -} \ No newline at end of file +}