diff --git a/apps/course/templates/course/course.html b/apps/course/templates/course/course.html index a928f119..0d789b81 100644 --- a/apps/course/templates/course/course.html +++ b/apps/course/templates/course/course.html @@ -139,22 +139,23 @@
Описание курса {% if request.user.role == request.user.AUTHOR_ROLE or request.user.role == request.user.ADMIN_ROLE %} - УРОКИ - {% comment %} - - {% endcomment %} + УРОКИ {% else %} - + УРОКИ + {% if not paid %} + + + + {% endif %} + {% endif %}
diff --git a/apps/course/templates/course/course_only_lessons.html b/apps/course/templates/course/course_only_lessons.html index 88667fc0..357284f3 100644 --- a/apps/course/templates/course/course_only_lessons.html +++ b/apps/course/templates/course/course_only_lessons.html @@ -25,14 +25,18 @@
Вернуться
- + >{% if pending %}ОЖИДАЕТСЯ ПОДТВЕРЖДЕНИЕ ОПЛАТЫ{% else %}КУПИТЬ КУРС{% endif %} + {% endif %}
- Описание курса - УРОКИ - {% comment %} - - {% endcomment %} - + Описание курса + {% if request.user.role == request.user.AUTHOR_ROLE or request.user.role == request.user.ADMIN_ROLE %} + УРОКИ + + {% else %} + УРОКИ + {% if not paid %} + + + + {% endif %} + + {% endif %}
@@ -270,4 +285,4 @@ -{% endblock content %} \ No newline at end of file +{% endblock content %} diff --git a/apps/course/views.py b/apps/course/views.py index d04f6a2d..4b60508f 100644 --- a/apps/course/views.py +++ b/apps/course/views.py @@ -178,10 +178,13 @@ class CourseView(DetailView): model = Course context_object_name = 'course' template_name = 'course/course.html' + only_lessons = False def get(self, request, *args, **kwargs): response = super().get(request, *args, **kwargs) - if (not request.user.is_authenticated and self.object.status != Course.PUBLISHED): + context = self.get_context_data() + if (not request.user.is_authenticated and self.object.status != Course.PUBLISHED) or\ + (request.user.is_authenticated and request.user.role not in [User.AUTHOR_ROLE, User.ADMIN_ROLE] and self.object.author != request.user and self.only_lessons and not context['paid']): raise Http404 return response diff --git a/project/urls.py b/project/urls.py index 9a1c055b..30a14cbd 100644 --- a/project/urls.py +++ b/project/urls.py @@ -42,7 +42,7 @@ urlpatterns = [ path('course//', CourseView.as_view(), name='course'), path('course//checkout', CourseBuyView.as_view(), name='course-checkout'), path('course//edit', CourseEditView.as_view(), name='course_edit'), - path('course//lessons', CourseView.as_view(template_name='course/course_only_lessons.html'), name='course-only-lessons'), + path('course//lessons', CourseView.as_view(template_name='course/course_only_lessons.html', only_lessons=True), name='course-only-lessons'), path('course//like', likes, name='likes'), path('course//comment', coursecomment, name='coursecomment'), path('lesson//', LessonView.as_view(), name='lesson'),