diff --git a/apps/course/filters.py b/apps/course/filters.py
index cfecd0a0..2a084773 100644
--- a/apps/course/filters.py
+++ b/apps/course/filters.py
@@ -5,6 +5,7 @@ from .models import Course
class CourseFilter(django_filters.FilterSet):
category = django_filters.CharFilter(field_name='category')
+ cat = django_filters.CharFilter(field_name='category__title')
age = django_filters.ChoiceFilter(field_name='age', choices=Course.AGE_CHOICES)
class Meta:
diff --git a/apps/course/templates/course/inclusion/category_menu_items.html b/apps/course/templates/course/inclusion/category_menu_items.html
index ecb83298..da2d3855 100644
--- a/apps/course/templates/course/inclusion/category_menu_items.html
+++ b/apps/course/templates/course/inclusion/category_menu_items.html
@@ -2,7 +2,7 @@
{% for cat in category_items %}
-
{% endfor %}
diff --git a/apps/course/views.py b/apps/course/views.py
index 1f0a101f..73bdeab1 100644
--- a/apps/course/views.py
+++ b/apps/course/views.py
@@ -16,7 +16,7 @@ from django.utils.translation import gettext as _
from django.utils.timezone import now
from apps.payment.models import AuthorBalance, CoursePayment
-from .models import Course, Like, Lesson, CourseComment, LessonComment
+from .models import Course, Like, Lesson, CourseComment, LessonComment, Category
from .filters import CourseFilter
User = get_user_model()
@@ -327,6 +327,9 @@ class CoursesView(ListView):
context['age_name'] = dict(Course.AGE_CHOICES).get(age, '')
else:
context['age_name'] = ''
+ if not context.get('category') and context.get('cat'):
+ context['category'] = Category.objects.filter(title__iexact=context.get('cat')[0]).values_list(
+ 'id', flat=True)[:1]
if self.request.user.is_authenticated:
can_buy_again_courses = list(CoursePayment.objects.filter(user=self.request.user,
status__in=CoursePayment.PW_PAID_STATUSES,
diff --git a/web/src/js/modules/courses.js b/web/src/js/modules/courses.js
index 0208df54..8b94d36d 100644
--- a/web/src/js/modules/courses.js
+++ b/web/src/js/modules/courses.js
@@ -12,7 +12,7 @@ moment.locale('ru');
const history = createHistory();
$(document).ready(function () {
- const categoryName = $('div.js-select-option.active[data-category-option]').attr('data-category-name');
+ let categoryName = $('div.js-select-option.active[data-category-option]').attr('data-category-name');
let category = $('div.js-select-option.active[data-category-option]').attr('data-category');
let age = $('div.js-select-option.active[data-age-option]').data('age');
let page = 1;
@@ -39,10 +39,10 @@ $(document).ready(function () {
// Обработчик выбора категории
$('div.js-select-option[data-category-option]').on('click', function (e) {
e.preventDefault();
- const categoryName = $(this).attr('data-category-name');
+ const cat = $(this).attr('data-category-name');
$('[data-category-name]').removeClass('active');
- $(`[data-category-name='${categoryName}']`).addClass('active');
- category = $(this).attr('data-category');
+ $(`[data-category-name='${cat}']`).addClass('active');
+ categoryName = $(this).attr('data-category-name');
page = 1;
loadCourses(true);
});
@@ -116,7 +116,7 @@ $(document).ready(function () {
$('.courses__list').css('opacity', '0.9');
const buttonElement = $('.courses').find('button.load__btn');
let coursesUrl = window.LIL_STORE.urls.courses + '?' + $.param({
- category,
+ cat: categoryName,
age,
});
if (page > 1) {