Fix button in course template

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent 135b8f2c4a
commit 8a51c1c21e
  1. 29
      apps/course/templates/course/course.html
  2. 43
      apps/course/templates/course/course_only_lessons.html
  3. 5
      apps/course/views.py
  4. 2
      project/urls.py

@ -139,22 +139,23 @@
<div class="course__actions">
<a href="{% url 'course' course.id %}" class="course__action btn btn_lg btn_stroke">Описание курса</a>
{% if request.user.role == request.user.AUTHOR_ROLE or request.user.role == request.user.ADMIN_ROLE %}
<a href="{% url 'course-only-lessons' course.id %}"
class="course__action btn btn_lg btn_gray"
{% if not user.is_authenticated %}data-popup=".js-popup-auth"{% endif %}
>УРОКИ
{% comment %} <svg class="icon icon-lock">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-lock"></use>
</svg> {% endcomment %}
<a
href="{% url 'course-only-lessons' course.id %}"
class="course__action btn btn_lg btn_gray"
{% if not user.is_authenticated %}data-popup=".js-popup-auth"{% endif %}
>УРОКИ
</a>
{% else %}
<button
class="course__action btn btn_lg btn_gray"
>УРОКИ
<svg class="icon icon-lock">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-lock"></use>
</svg>
</button>
<a
href="{% if paid %}{% url 'course-only-lessons' course.id %}{% else %}#{% endif %}"
class="course__action btn btn_lg btn_gray"
>УРОКИ
{% if not paid %}
<svg class="icon icon-lock">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-lock"></use>
</svg>
{% endif %}
</a>
{% endif %}
</div>
<a class="course__video video" href="#">

@ -25,14 +25,18 @@
</div>
<div class="go__title">Вернуться</div>
</a>
<button
class="go__btn btn btn_md"
{% if not paid and course.price %}
<a
class="go__btn btn{% if pending %} btn_gray{% endif %} btn_md"
{% if user.is_authenticated %}
data-popup=".js-popup-buy"
{% if not pending %}
href="{% url 'course-checkout' course.id %}"
{% endif %}
{% else %}
data-popup=".js-popup-auth"
{% endif %}
>КУПИТЬ КУРС</button>
>{% if pending %}ОЖИДАЕТСЯ ПОДТВЕРЖДЕНИЕ ОПЛАТЫ{% else %}КУПИТЬ КУРС{% endif %}</a>
{% endif %}
</div>
<div
class="course"
@ -130,15 +134,26 @@
</div>
</div>
<div class="course__actions">
<a href="{% url 'course' course.id %}" class="course__action btn btn_lg btn_gray">Описание курса</a>
<a href="{% url 'course-only-lessons' course.id %}"
class="course__action btn btn_lg btn_stroke"
{% if not user.is_authenticated %}data-popup=".js-popup-auth"{% endif %}
>УРОКИ
{% comment %} <svg class="icon icon-lock">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-lock"></use>
</svg> {% endcomment %}
</a>
<a href="{% url 'course' course.id %}" class="course__action btn btn_lg btn_stroke">Описание курса</a>
{% if request.user.role == request.user.AUTHOR_ROLE or request.user.role == request.user.ADMIN_ROLE %}
<a
href="{% url 'course-only-lessons' course.id %}"
class="course__action btn btn_lg btn_gray"
{% if not user.is_authenticated %}data-popup=".js-popup-auth"{% endif %}
>УРОКИ
</a>
{% else %}
<a
href="{% if paid %}{% url 'course-only-lessons' course.id %}{% else %}#{% endif %}"
class="course__action btn btn_lg btn_gray"
>УРОКИ
{% if not paid %}
<svg class="icon icon-lock">
<use xlink:href="{% static 'img/sprite.svg' %}#icon-lock"></use>
</svg>
{% endif %}
</a>
{% endif %}
</div>
</div>
</div>
@ -270,4 +285,4 @@
</div>
</div>
</div>
{% endblock content %}
{% endblock content %}

@ -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

@ -42,7 +42,7 @@ urlpatterns = [
path('course/<str:slug>/', CourseView.as_view(), name='course'),
path('course/<int:pk>/checkout', CourseBuyView.as_view(), name='course-checkout'),
path('course/<int:pk>/edit', CourseEditView.as_view(), name='course_edit'),
path('course/<int:pk>/lessons', CourseView.as_view(template_name='course/course_only_lessons.html'), name='course-only-lessons'),
path('course/<int:pk>/lessons', CourseView.as_view(template_name='course/course_only_lessons.html', only_lessons=True), name='course-only-lessons'),
path('course/<int:course_id>/like', likes, name='likes'),
path('course/<int:course_id>/comment', coursecomment, name='coursecomment'),
path('lesson/<int:pk>/', LessonView.as_view(), name='lesson'),

Loading…
Cancel
Save