remotes/origin/hotfix/LIL-691
gzbender 7 years ago
parent 2defa863bc
commit 5a068afe4e
  1. 15
      apps/course/templates/course/course.html
  2. 8
      apps/school/templates/blocks/schedule_purchased.html
  3. 22
      apps/school/views.py
  4. 7
      project/templates/blocks/popup_course_buy.html
  5. 25
      web/src/js/modules/popup.js
  6. 7
      web/src/sass/_common.sass

@ -29,17 +29,15 @@
<a class="go__btn btn" href="{% url 'course_edit' course.id %}">Редактировать</a>
{% endif %}
{% if course.author != request.user and not paid and course.price %}
<a
<a href="#"
class="go__btn btn{% if pending %} btn_gray{% endif %} btn_md"
{% if user.is_authenticated %}
{% if not pending %}
data-course-buy
data-popup=".js-popup-course-buy"
href="#"
{% endif %}
{% else %}
data-popup=".js-popup-auth"
href="#"
{% endif %}
>{% if pending %}ОЖИДАЕТСЯ ПОДТВЕРЖДЕНИЕ ОПЛАТЫ{% else %}КУПИТЬ КУРС{% endif %}</a>
{% endif %}
@ -160,12 +158,14 @@
>УРОКИ
</a>
{% else %}
<a
<a href="#"
class="course__action btn btn_lg{% if only_lessons %} btn_stroke{% else %} btn_gray{% endif %}"
{% if paid or not course.price %}
href="{% url 'course-only-lessons' course.id %}"
{% else %}
data-popup=".js-popup-course-lock"
data-course-buy
data-popup=".js-popup-course-buy"
data-course-lock="1"
{% endif %}
>УРОКИ
{% if not paid and course.price %}
@ -324,16 +324,15 @@
{% endif %}
</div>
{% if course.author != request.user and not paid and course.price %}
<a
<a href="#"
class="go__btn btn{% if pending %} btn_gray{% endif %} btn_md"
{% if user.is_authenticated %}
{% if not pending %}
data-course-buy
href="{% url 'course-checkout' course.id %}"
data-popup=".js-popup-course-buy"
{% endif %}
{% else %}
data-popup=".js-popup-auth"
href="#"
{% endif %}
>{% if pending %}ОЖИДАЕТСЯ ПОДТВЕРЖДЕНИЕ ОПЛАТЫ{% else %}КУПИТЬ КУРС{% endif %}</a>
{% endif %}

@ -6,9 +6,11 @@
<div class="casing__col">
<div class="casing__subscribe">
{% if is_purchased %}
<div class="casing__msg">Подписка истекает
<span class="bold">{{ subscription_ends }}</span>
</div>
{% if not school_purchased_future %}
<div class="casing__msg">Подписка истекает
<span class="bold">{{ subscription_ends }}</span>
</div>
{% endif %}
{% else %}
<div class="casing__msg">Подписка
<span class="bold">истекла</span>

@ -138,21 +138,26 @@ class SchoolView(TemplateView):
if self.request.user.is_authenticated:
school_payment = SchoolPayment.objects.filter(
user=self.request.user,
status__in=[
Pingback.PINGBACK_TYPE_REGULAR,
Pingback.PINGBACK_TYPE_GOODWILL,
Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED,
],
status__in=SchoolPayment.PW_PAID_STATUSES,
date_start__lte=date_now,
date_end__gte=date_now
)
school_payment_exists = school_payment.exists()
school_purchased_future = SchoolPayment.objects.filter(
user=self.request.user,
status__in=SchoolPayment.PW_PAID_STATUSES,
date_start__gt=date_now,
date_end__gt=date_now
).exists()
school_schedules_purchased = school_payment.annotate(
joined_weekdays=Func(F('weekdays'), function='unnest',)
).values_list('joined_weekdays', flat=True).distinct()
else:
school_payment_exists = False
school_schedules_purchased = []
school_purchased_future = False
if is_previous:
prev_range = [yesterday - timedelta(days=7), yesterday]
live_lessons = []
@ -192,10 +197,11 @@ class SchoolView(TemplateView):
'school_schedules_sorted': school_schedules_sorted,
'school_schedules': school_schedules,
'school_schedules_purchased': school_schedules_purchased,
'school_purchased_future': False,
'subscription_ends': subscription_ends,
'school_purchased_future': school_purchased_future,
'subscription_ends': subscription_ends if not school_purchased_future else None,
'prolong_date_start': subscription_ends + timedelta(days=1) if subscription_ends else None,
'allow_prolong': subscription_ends - date_now <= timedelta(days=7) if subscription_ends else False,
'allow_prolong': subscription_ends - date_now <= timedelta(days=7)
if not school_purchased_future and subscription_ends else False,
})
return context

@ -9,12 +9,17 @@
<div class="popup__body">
<div class="buy">
<div class="buy__row">
<div class="buy__subtitle">ЧТОБЫ ПРОДОЛЖИТЬ ПРОСМОТР</div>
<div class="buy__col" style="flex: 1;">
<div class="order">
<div class="order__wrap">
<div class="order__title">Ваш заказ:</div>
<div class="order__preview">
{% if course.cover %}
<img class="order__pic" src="{{ course.cover.image.url }}">
{% else %}
<img class="order__pic" src="{% static 'img/order.jpg' %}">
{% endif %}
</div>
<div class="order__info">
<div class="order__label">КУРС</div>
@ -40,7 +45,7 @@
</div>
</div>
<div class="buy__foot">
<a class="buy__btn btn btn_md but_btn_popup" data-link="{% url 'course-checkout' course.id %}" data-price="{{ course.price }}">ПЕРЕЙТИ К ОПЛАТЕ</a>
<a class="buy__btn btn btn_md but_btn_popup" data-link="{% url 'course-checkout' course.id %}" data-price="{{ course.price }}">КУПИТЬ КУРС</a>
</div>
</div>
</div>

@ -100,23 +100,26 @@ $(document).ready(function () {
if(data === '.js-popup-course-buy'){
const updateCourseCart = () => {
var $orderPrice = popup.find('.order_price_text');
var useBonuses = $bonusesCheckbox.prop('checked');
var amount = useBonuses ? coursePrice - bonusesCount : coursePrice;
const $orderPrice = popup.find('.order_price_text');
const useBonuses = $bonusesCheckbox.prop('checked');
const amount = useBonuses ? coursePrice - bonusesCount : coursePrice;
$orderPrice.html(amount !== coursePrice ? `<del>${coursePrice}</del> ${amount}р.` : `${amount}р.`);
$buyBtn.attr('href', link + '?' + decodeURIComponent($.param({
use_bonuses: useBonuses || ''
})));
}
var $buyBtn = popup.find('.but_btn_popup');
var link = $buyBtn.data('link');
var coursePrice = +$buyBtn.data('price').replace(',', '.');
var $bonuses = popup.find('.buy__bonuses');
var $bonusesCount = popup.find('.buy__bonuses-count');
var $bonusesCheckbox = popup.find('[data-bonuses]');
var bonuses = +$bonusesCheckbox.data('bonuses');
var bonusesCount = bonuses > coursePrice ? coursePrice : bonuses;
const $buyBtn = popup.find('.but_btn_popup');
const link = $buyBtn.data('link');
const coursePrice = +$buyBtn.data('price').replace(',', '.');
const $bonuses = popup.find('.buy__bonuses');
const $bonusesCount = popup.find('.buy__bonuses-count');
const $bonusesCheckbox = popup.find('[data-bonuses]');
const bonuses = +$bonusesCheckbox.data('bonuses');
const bonusesCount = bonuses > coursePrice ? coursePrice : bonuses;
const isCourseLock = $this.data('course-lock');
popup.find('.buy__subtitle').css('display', isCourseLock ? '' : 'none');
$bonuses.hide();
if(bonuses){

@ -3039,6 +3039,13 @@ a.grey-link
font-size: 30px
+t
font-size: 24px
&__subtitle
margin-bottom: 10px
font-family: 'ProximaNova-Bold', serif
font-size: 12px
letter-spacing: 2px
text-align: center
width: 100%
&__content
font-size: 12px
color: $gray

Loading…
Cancel
Save