From 8d66e49cab420ded2e64c3e35d87549850b47457 Mon Sep 17 00:00:00 2001
From: Akash Bhave <akashbbhave@gmail.com>
Date: Thu, 15 Oct 2020 16:41:44 -0400
Subject: [PATCH] Create course view

---
 studyguides/apps/courses/models.py |  2 --
 studyguides/apps/courses/urls.py   |  3 ++-
 studyguides/apps/courses/views.py  | 16 ++++++++++++----
 studyguides/static/base.css        |  8 ++++++++
 studyguides/templates/course.html  |  8 ++++++++
 studyguides/templates/home.html    |  2 ++
 studyguides/templates/subject.html |  3 +--
 7 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/studyguides/apps/courses/models.py b/studyguides/apps/courses/models.py
index 2917eec..eeee663 100644
--- a/studyguides/apps/courses/models.py
+++ b/studyguides/apps/courses/models.py
@@ -1,8 +1,6 @@
 from django.db import models
 from django.core.validators import RegexValidator, FileExtensionValidator
 
-# Create your models here.
-
 
 class Subject(models.Model):
     id = models.AutoField(primary_key=True)
diff --git a/studyguides/apps/courses/urls.py b/studyguides/apps/courses/urls.py
index df7665f..5218b3c 100644
--- a/studyguides/apps/courses/urls.py
+++ b/studyguides/apps/courses/urls.py
@@ -5,5 +5,6 @@ from . import views
 app_name = "courses"
 
 urlpatterns = [
-    path("<str:subject_name>/", views.subject_view)
+    path("<str:subject_url>/", views.subject_view),
+    path("<str:subject_url>/<str:course_url>/", views.course_view),
 ]
diff --git a/studyguides/apps/courses/views.py b/studyguides/apps/courses/views.py
index db0d1c7..38e2d24 100644
--- a/studyguides/apps/courses/views.py
+++ b/studyguides/apps/courses/views.py
@@ -6,7 +6,15 @@ from django.shortcuts import render, redirect, reverse, get_object_or_404
 from .models import Subject, Course, Guide
 
 
-def subject_view(request, subject_name):
-    print(subject_name)
-    subject = get_object_or_404(Subject, url=subject_name)
-    return render(request, "subject.html", {"subject": subject, "courses": subject.courses.all()})
+def subject_view(request, subject_url):
+    subject = get_object_or_404(Subject, url=subject_url)
+    return render(request, "subject.html", {"subject": subject,
+                                            "courses": subject.courses.all()})
+
+
+def course_view(request, subject_url, course_url):
+    subject = get_object_or_404(Subject, url=subject_url)
+    course = get_object_or_404(Course, url=course_url)
+    return render(request, "course.html", {"subject": subject,
+                                           "course": course,
+                                           "guides": Guide.objects.filter(course=course)})
diff --git a/studyguides/static/base.css b/studyguides/static/base.css
index 5002eb9..79d4cf2 100644
--- a/studyguides/static/base.css
+++ b/studyguides/static/base.css
@@ -28,3 +28,11 @@ main {
 .color-primary {
   color: #568ea3;
 }
+
+h1 {
+  opacity: 0.5;
+  transition: all 0.2s ease;
+}
+h1:hover {
+  opacity: 1;
+}
diff --git a/studyguides/templates/course.html b/studyguides/templates/course.html
index e69de29..dc9da96 100644
--- a/studyguides/templates/course.html
+++ b/studyguides/templates/course.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %} {% block main %}
+<main>
+  <h2>{{subject.name}} / {{ course.name }}</h2>
+  {% for guide in guides %}
+  <p class="color-primary"><a href="{{guide.url}}"/>{{ guide.name }}</a></p>
+  {% endfor %}
+</main>
+{% endblock %}
diff --git a/studyguides/templates/home.html b/studyguides/templates/home.html
index e802711..d566e1d 100644
--- a/studyguides/templates/home.html
+++ b/studyguides/templates/home.html
@@ -1,5 +1,7 @@
 {% extends "base.html" %} {% block main %}
 <main>
+  <h1><a href="/">Subjects</a></h1>
+
   {% for subject, courses in subjects %}
   <h2>{{ subject.name }}</h2>
 
diff --git a/studyguides/templates/subject.html b/studyguides/templates/subject.html
index a32e2b4..8e58ec0 100644
--- a/studyguides/templates/subject.html
+++ b/studyguides/templates/subject.html
@@ -1,9 +1,8 @@
 {% extends "base.html" %} {% block main %}
 <main>
+  <h2>{{ subject.name }}</h2>
   {% for course in courses %}
-  
   <p class="color-primary"><a href="/{{subject.url}}/{{course.url}}"/>{{ course.name }}</a></p>
-
   {% endfor %}
 </main>
 {% endblock %}