Skip to content

Commit f25c94c

Browse files
authored
Merge branch 'dev' into issue-991-icon-fixes
2 parents 53e8398 + 09e00d4 commit f25c94c

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

tcf_website/models/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -966,8 +966,10 @@ def sort(reviews: "QuerySet[Review]", method="") -> "QuerySet[Review]":
966966
output_field=fields.FloatField(),
967967
)
968968
).order_by("average")
969-
case "Most Recent" | _:
969+
case "Most Recent":
970970
return reviews.order_by("-created")
971+
case "Default" | _:
972+
return reviews
971973

972974
@staticmethod
973975
def paginate(reviews: "QuerySet[Review]", page_number, reviews_per_page=10) -> "Page[Review]":

tcf_website/templates/course/course_professor.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ <h2 class="mr-md-3">{{ course.title }}</h2>
6565
<div class="ratings-row">
6666
<div class="rating-card">
6767
<span class="rating-card-num rating-num">&mdash;</span>
68-
<p class="rating-card-desc"><i class="fa fa-star fa-fw"></i>&nbsp;{{ num_reviews }} {% if num_reviews == 1 %} Rating {% else %} Ratings {% endif %}</p>
68+
<p class="rating-card-desc"><i class="fa fa-star fa-fw"></i>&nbsp;{{ num_ratings }} {% if num_ratings == 1 %} Rating {% else %} Ratings {% endif %}</p>
6969
</div>
7070
<div class="info-container">
7171
<div class="info-row">
@@ -242,7 +242,7 @@ <h2 class="mr-md-3">{{ course.title }}</h2>
242242
<div class="tab-pane fade show active" id="reviewsTabContent" role="tabpanel" aria-labelledby="reviews-tab">
243243
<div class="reviews-container mb-5 mt-3">
244244
<div class="reviews-toolbar pb-2 d-flex flex-md-row flex-column justify-content-left justify-content-md-center">
245-
<h3 class="reviews-heading mb-0 mt-1 mr-4">{{ num_reviews }} {% if num_reviews == 1 %} Comment {% else %} Comments {% endif %}</h3>
245+
<h3 class="reviews-heading mb-0 mt-1 mr-4">{{ num_reviews }} {% if num_reviews == 1 %} Review {% else %} Reviews {% endif %}</h3>
246246
<div class="reviews-options d-flex flex-sm-row flex-column col p-0">
247247
{% if user.is_authenticated %}
248248
<a href="{% url 'new_review' %}?subdept_id={{course.subdepartment.id}}&course_id={{course.id}}&instr_id={{instructor.id}}" class="btn bg-tcf-orange text-white mb-3">

tcf_website/views/browse.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from typing import Any
77

88
from django.core.exceptions import ObjectDoesNotExist
9-
from django.db.models import Avg, CharField, F, Q, Value
9+
from django.db.models import Avg, CharField, Count, F, Q, Value
1010
from django.db.models.functions import Concat
1111
from django.http import Http404
1212
from django.shortcuts import get_object_or_404, redirect, render
@@ -182,7 +182,7 @@ def course_view(
182182
)
183183

184184

185-
def course_instructor(request, course_id, instructor_id, method="Most Recent"):
185+
def course_instructor(request, course_id, instructor_id, method="Default"):
186186
"""View for course instructor page."""
187187
section_last_taught = (
188188
Section.objects.filter(course=course_id, instructors=instructor_id)
@@ -194,8 +194,11 @@ def course_instructor(request, course_id, instructor_id, method="Most Recent"):
194194
course = section_last_taught.course
195195
instructor = section_last_taught.instructors.get(pk=instructor_id)
196196

197-
# Find the total number of reviews (with or without text) for the given course
198-
num_reviews = Review.objects.filter(instructor=instructor_id, course=course_id).count()
197+
# ratings: reviews with and without text; reviews: ratings with text
198+
reviews = Review.objects.filter(instructor=instructor_id, course=course_id).aggregate(
199+
num_ratings=Count("id"), num_reviews=Count("id", filter=~Q(text=""))
200+
)
201+
num_reviews, num_ratings = reviews["num_reviews"], reviews["num_ratings"]
199202

200203
dept = course.subdepartment.department
201204

@@ -295,6 +298,7 @@ def course_instructor(request, course_id, instructor_id, method="Most Recent"):
295298
"course_id": course_id,
296299
"instructor": instructor,
297300
"semester_last_taught": section_last_taught.semester,
301+
"num_ratings": num_ratings,
298302
"num_reviews": num_reviews,
299303
"paginated_reviews": paginated_reviews,
300304
"breadcrumbs": breadcrumbs,

0 commit comments

Comments
 (0)