You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
258 lines
11 KiB
258 lines
11 KiB
{% extends "templates/lilcity/index.html" %}
|
|
{% load static %}
|
|
{% load data_liked from data_liked %}
|
|
{% load rupluralize from plural %}
|
|
{% block title %}{{ course.title }} - {{ block.super }}{% endblock title %}
|
|
{% comment %} seo tags {% endcomment %}
|
|
{% block description %}{{ course.short_description }}{% endblock description%}
|
|
{% block twurl %}{{ request.build_absolute_uri }}{% endblock twurl %}
|
|
{% block ogtitle %}{{ course.title }} - {{ block.super }}{% endblock ogtitle %}
|
|
{% block ogurl %}{{ request.build_absolute_uri }}{% endblock ogurl %}
|
|
{% if course.cover %}
|
|
{% block ogimage %}{{ request.build_absolute_uri }}{{ course.cover.url }}{% endblock ogimage %}
|
|
{% endif %}
|
|
{% block ogdescription %}{{ course.short_description }}{% endblock ogdescription %}
|
|
|
|
{% block content %}
|
|
<div class="section section_border">
|
|
<div class="section__center center center_sm">
|
|
<div class="go">
|
|
<a class="go__item" href="{% if next %}{{next}}{% else %}{% url 'courses' %}{% endif %}">
|
|
<div class="go__arrow">
|
|
<svg class="icon icon-arrow-left">
|
|
<use xlink:href="{% static '/img/sprite.svg' %}#icon-arrow-left"></use>
|
|
</svg>
|
|
</div>
|
|
<div class="go__title">Вернуться</div>
|
|
</a>
|
|
{% if not paid and course.price %}
|
|
<a
|
|
class="go__btn btn{% if pending %} btn_gray{% endif %} btn_md"
|
|
{% if user.is_authenticated %}
|
|
{% if not pending %}
|
|
href="{% url 'course-checkout' course.id %}"
|
|
{% endif %}
|
|
{% else %}
|
|
data-popup=".js-popup-auth"
|
|
{% endif %}
|
|
>{% if pending %}ОЖИДАЕТСЯ ПОДТВЕРЖДЕНИЕ ОПЛАТЫ{% else %}КУПИТЬ КУРС{% endif %}</a>
|
|
{% endif %}
|
|
</div>
|
|
<div
|
|
class="course"
|
|
data-course data-course-id={{ course.id }}
|
|
data-likes-count={{ course.likes.count }}
|
|
>
|
|
<div class="course__head">
|
|
<div class="course__theme theme theme_green">{{ course.category.title | upper }}</div>
|
|
{% data_liked user course as liked %}
|
|
<a
|
|
class="course__likes likes{% if liked %} active{% endif %}"
|
|
{% if not user.is_authenticated %}data-popup=".js-popup-auth"{% endif %}
|
|
data-course-likes
|
|
{% if liked %} data-liked=1 {% else %} data-liked=0 {% endif %}
|
|
data-course-likes-count="{{ course.likes.count }}"
|
|
data-course-id="{{ course.id }}"
|
|
href="#"
|
|
>
|
|
<div class="likes__counter">{{ course.likes.count }}</div>
|
|
<div class="likes__icon">
|
|
<svg class="icon icon-like-bold">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like-bold"></use>
|
|
</svg>
|
|
<svg class="icon icon-like-fill-bold">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-like-fill-bold"></use>
|
|
</svg>
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<div class="course__title title">{{ course.title }}</div>
|
|
<div class="course__content">{{ course.short_description }}</div>
|
|
<a href="{% url 'user' course.author.id %}">
|
|
<div class="course__user user">
|
|
{% if course.author.photo %}
|
|
<div class="user__ava ava">
|
|
<img class="ava__pic" src="{{ course.author.photo.url }}">
|
|
</div>
|
|
{% else %}
|
|
<div class="user__ava ava">
|
|
<img class="ava__pic" src="{% static 'img/user_default.jpg' %}">
|
|
</div>
|
|
{% endif %}
|
|
<div class="user__info">
|
|
<div class="user__name">{{ course.author.get_full_name }}</div>
|
|
<div class="user__meta">
|
|
<div class="user__date">{{ course.created_at_humanize }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
<div class="course__metas">
|
|
<div class="course__meta meta">
|
|
<div class="meta__item">
|
|
<div class="meta__icon">
|
|
<svg class="icon icon-time">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-time"></use>
|
|
</svg>
|
|
</div>
|
|
<div class="meta__title">{{ course.duration | rupluralize:"день,дня,дней" }}</div>
|
|
</div>
|
|
<div class="meta__item">
|
|
<div class="meta__icon">
|
|
<svg class="icon icon-date">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-date"></use>
|
|
</svg>
|
|
</div>
|
|
<div class="meta__title">{{ course.created_at | date:"d F Yг." }}</div>
|
|
</div>
|
|
{% if course.price %}
|
|
<div class="meta__item">
|
|
<div class="meta__icon">
|
|
<svg class="icon icon-money">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-money"></use>
|
|
</svg>
|
|
</div>
|
|
<div class="meta__title">{{ course.price|floatformat:"-2" }}₽</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
<div class="course__meta meta">
|
|
<div class="meta__item">
|
|
<div class="meta__icon">
|
|
<svg class="icon icon-showcase">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-showcase"></use>
|
|
</svg>
|
|
</div>
|
|
<div class="meta__title">{{ course.lessons.count | rupluralize:"урок,урока,уроков" }}</div>
|
|
</div>
|
|
<div class="meta__item">
|
|
<div class="meta__icon">
|
|
<svg class="icon icon-video">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-video"></use>
|
|
</svg>
|
|
</div>
|
|
<div class="meta__title">{{ course.count_videos_in_lessons }} видео</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="course__actions">
|
|
<a href="{% url 'course' course.id %}" class="course__action btn btn_lg{% if not only_lessons %} btn_stroke{% else %} btn_gray{% endif %}">Описание курса</a>
|
|
{% if course.author == request.user and request.user.role >= request.user.AUTHOR_ROLE %}
|
|
<a
|
|
href="{% url 'course-only-lessons' course.id %}"
|
|
class="course__action btn btn_lg{% if only_lessons %} btn_stroke{% else %} btn_gray{% endif %}"
|
|
{% if not user.is_authenticated %}data-popup=".js-popup-auth"{% endif %}
|
|
>УРОКИ
|
|
</a>
|
|
{% elif request.user.role == request.user.ADMIN_ROLE %}
|
|
<a
|
|
href="{% url 'course-only-lessons' course.id %}"
|
|
class="course__action btn btn_lg{% if only_lessons %} btn_stroke{% else %} btn_gray{% endif %}"
|
|
{% 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{% if only_lessons %} btn_stroke{% else %} btn_gray{% endif %}"
|
|
>УРОКИ
|
|
{% 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>
|
|
{% if user.is_authenticated and course.lessons.exists %}
|
|
<div class="section">
|
|
<div class="section__center center center_sm">
|
|
<div class="lessons">
|
|
<div class="lessons__title title">Содержание курса</div>
|
|
<div class="lessons__list">
|
|
{% for lesson in course.lessons.all %}
|
|
{% if course.author == request.user or request.user.role >= request.user.TEACHER_ROLE or paid %}
|
|
<a href="{% url 'lesson' pk=lesson.id %}">
|
|
{% else %}
|
|
<a href="#">
|
|
{% endif %}
|
|
<div class="lessons__item">
|
|
<div class="lessons__subtitle subtitle">{{ forloop.counter }}. {{ lesson.title }}</div>
|
|
<div class="lessons__row">
|
|
{% if lesson.cover %}
|
|
<div class="lessons__preview">
|
|
<img class="lessons__pic" src="{{ lesson.cover.url }}">
|
|
</div>
|
|
{% endif %}
|
|
<div class="lessons__content">{{ lesson.short_description | safe }}</div>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
<div class="section section_gray">
|
|
<div class="section__center center center_sm">
|
|
<div class="title">Задавайте вопросы:</div>
|
|
<div class="questions">
|
|
{% if user.is_authenticated %}
|
|
<form class="questions__form" method="post" action="{% url 'coursecomment' course_id=course.id %}">
|
|
<input type="hidden" name="reply_id">
|
|
<div class="questions__ava ava">
|
|
<img class="ava__pic" src="{% static 'img/user_default.jpg' %}">
|
|
</div>
|
|
<div class="questions__wrap">
|
|
<div class="questions__reply-info">В ответ на
|
|
<a href="" class="questions__reply-anchor">этот комментарий</a>.
|
|
<a href="#" class="questions__reply-cancel grey-link">Отменить</a>
|
|
</div>
|
|
<div class="questions__field">
|
|
<textarea class="questions__textarea" placeholder="Задайте автору курса интересующие вас вопросы"></textarea>
|
|
</div>
|
|
<button class="questions__btn btn btn_light">ОТПРАВИТЬ</button>
|
|
</div>
|
|
</form>
|
|
{% else %}
|
|
<div>Только зарегистрированные пользователи могут оставлять комментарии.</div>
|
|
{% endif %}
|
|
<div class="questions__list">
|
|
{% include "templates/blocks/comments.html" with object=course %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section">
|
|
<div class="section__center center center_sm">
|
|
<div class="share">
|
|
<div class="share__title">Поделиться курсом</div>
|
|
<div class="share__list likely">
|
|
<a class="share__item facebook" href="#">
|
|
<svg class="icon icon-share-facebook">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-facebook"></use>
|
|
</svg>
|
|
</a>
|
|
<a class="share__item twitter" href="#">
|
|
<svg class="icon icon-share-twitter">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-twitter"></use>
|
|
</svg>
|
|
</a>
|
|
<a class="share__item gplus" href="#">
|
|
<svg class="icon icon-share-google">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-google"></use>
|
|
</svg>
|
|
</a>
|
|
<a class="share__item pinterest" href="#">
|
|
<svg class="icon icon-share-pinterest">
|
|
<use xlink:href="{% static 'img/sprite.svg' %}#icon-share-pinterest"></use>
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock content %}
|
|
|