From b378f4fe323d068d6153e3d808385e5aac1a8353 Mon Sep 17 00:00:00 2001 From: Erez Cohen Date: Thu, 7 Apr 2022 00:08:58 +0300 Subject: [PATCH] Creating dog owner homepage When the dog owner is logged in to Hotails, or when the home is pressed via navbar, All the daycares in the database will be shown to the dog owner on its homepage, with the possibility to check their profile. Signed-off-by: Ofir Matasas Signed-off-by: tamirmatok --- daycare/models.py | 5 ++ .../dogowner/dog_owner_homepage.html | 26 +++++++++++ dogowner/views.py | 11 ++++- main/urls.py | 7 +++ main/views.py | 5 +- static/CSS/dog_owner_homepage.css | 46 +++++++++++++++++++ 6 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 dogowner/templates/dogowner/dog_owner_homepage.html create mode 100644 main/urls.py create mode 100644 static/CSS/dog_owner_homepage.css diff --git a/daycare/models.py b/daycare/models.py index 2678d71..d21a44e 100644 --- a/daycare/models.py +++ b/daycare/models.py @@ -50,6 +50,11 @@ def create(email, username, password, name, description, price_per_day, capacity return new_daycare + def get_daycare_primary_image(self): + if Image.get_images_by_daycare_id(self.id).exists(): + return Image.get_images_by_daycare_id(self.id).first().url + return None + class Image(models.Model): url = models.CharField(max_length=1000) diff --git a/dogowner/templates/dogowner/dog_owner_homepage.html b/dogowner/templates/dogowner/dog_owner_homepage.html new file mode 100644 index 0000000..162f837 --- /dev/null +++ b/dogowner/templates/dogowner/dog_owner_homepage.html @@ -0,0 +1,26 @@ +{% extends "main/base_template.html" %} +{% load static %} + +{% block stylesheets %} + +{% endblock %} + +{% block content %} +
+
+ {% for daycare in daycares %} +
+ {{ daycare.name }} image +
+
+
{{ daycare.name }}
+
+

{{ daycare.description | truncatechars:250 }}

+ Daycare Profile +
+
+ {% endfor %} +
+
+ +{% endblock %} \ No newline at end of file diff --git a/dogowner/views.py b/dogowner/views.py index fd0e044..ff85724 100644 --- a/dogowner/views.py +++ b/dogowner/views.py @@ -1,3 +1,10 @@ -# from django.shortcuts import render +from django.shortcuts import render +from daycare.models import DayCare -# Create your views here. + +def dog_owner_home(request): + context = { + 'dogowner': request.user, + 'daycares': DayCare.objects.all(), + } + return render(request, 'dogowner/dog_owner_homepage.html', context) diff --git a/main/urls.py b/main/urls.py new file mode 100644 index 0000000..30e75d5 --- /dev/null +++ b/main/urls.py @@ -0,0 +1,7 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('', views.home, name='homepage'), + path('about/', views.about, name='about'), +] diff --git a/main/views.py b/main/views.py index d1e9531..571b04c 100644 --- a/main/views.py +++ b/main/views.py @@ -2,6 +2,8 @@ from django.contrib.auth.decorators import login_required from django.shortcuts import redirect from django.contrib.auth import logout +from dogowner.views import dog_owner_home +from dogowner.models import DogOwner def index(request): @@ -13,7 +15,8 @@ def index(request): @login_required() def homepage(request): - return render(request, 'main/homepage.html') + if DogOwner.objects.filter(user=request.user).exists(): + return dog_owner_home(request) def about(request): diff --git a/static/CSS/dog_owner_homepage.css b/static/CSS/dog_owner_homepage.css new file mode 100644 index 0000000..1ddc6f8 --- /dev/null +++ b/static/CSS/dog_owner_homepage.css @@ -0,0 +1,46 @@ +.cards +{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + margin-left: 50px; + justify-content: center; + align-items: center; +} + +.row +{ + height: 30rem; + width: 120rem; + margin-left: 200px; +} + +.card +{ + width: 18.5%; + height: 30rem; + margin: 60px 60px 0 60px; + max-width: 100%; +} + +.card-body +{ + display: flex; + flex-direction: column; +} + +.card-body .btn +{ + margin-right: 50%; + margin-top: auto; +} + +.card-img-top +{ + height: 200px; +} + +.btn +{ + +}