Merge branch 'hotfix/paid-more-bonuses-1-07-19' into 'master'

Hotfix/paid more bonuses 1 07 19

See merge request lilschool/site!335
remotes/origin/hotfix/auth-popup-fix-5-07-19
Danil 7 years ago
commit 354a68d3fa
  1. 3
      apps/payment/admin.py
  2. 3
      apps/payment/models.py
  3. 2
      apps/school/templates/drawing_camp/promo.html
  4. 11
      apps/school/templates/drawing_camp/schedule_purchased.html
  5. 6
      apps/school/views.py
  6. 9
      apps/user/models.py

@ -28,11 +28,10 @@ class PaymentChildAdmin(PolymorphicChildModelAdmin):
'user', 'user',
'amount', 'amount',
'status', 'status',
'roistat_visit',
'created_at', 'created_at',
) )
base_fieldsets = ( base_fieldsets = (
(None, {'fields': ('user', 'amount', 'status', 'data', 'roistat_visit',)}), (None, {'fields': ('user', 'amount', 'status', 'data',)}),
) )
readonly_fields = ('amount', 'data',) readonly_fields = ('amount', 'data',)

@ -115,7 +115,8 @@ class Payment(PolymorphicModel):
roistat_visit = models.PositiveIntegerField('Номер визита Roistat', null=True, editable=False) roistat_visit = models.PositiveIntegerField('Номер визита Roistat', null=True, editable=False)
created_at = models.DateTimeField(auto_now_add=True) created_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True) update_at = models.DateTimeField(auto_now=True)
bonus = models.ForeignKey('payment.UserBonus', null=True, on_delete=models.SET_NULL, related_name='purchase_payments') bonus = models.ForeignKey('payment.UserBonus', blank=True, null=True, on_delete=models.SET_NULL,
related_name='purchase_payments')
objects = PaymentManger() objects = PaymentManger()

@ -14,7 +14,7 @@
class="main__btn btn" class="main__btn btn"
href="#" href="#"
> >
{% if not is_purchased and not is_purchased_future %}Купить доступ за {{ drawing_camp_price }} руб./месяц{% endif %} {% if not is_purchased and not is_purchased_future %}Узнать цену{% endif %}
{% if is_purchased_future and not is_purchased %}ваша подписка начинается {{school_purchased_future.date_start}}{% endif %} {% if is_purchased_future and not is_purchased %}ваша подписка начинается {{school_purchased_future.date_start}}{% endif %}
{% if is_purchased %}ваша подписка истекает {{ subscription_ends_humanize }}<br/>перейти к оплате{% endif %} {% if is_purchased %}ваша подписка истекает {{ subscription_ends_humanize }}<br/>перейти к оплате{% endif %}
</a> </a>

@ -8,17 +8,6 @@
<div class="title title_sm title_center"> <div class="title title_sm title_center">
Начнется через {{ next_lesson_start }} Начнется через {{ next_lesson_start }}
</div> </div>
{% if not is_purchased_future %}
<div class="title title_sm title_center">
<a
data-popup=".js-popup-buy"
data-is-camp="1"
class="btn"
href="#"
>Присоединиться на июль</a>
</div>
{% endif %}
</div> </div>
</div> </div>
{% endif %} {% endif %}

@ -336,11 +336,7 @@ class DrawingCampView(TemplateView):
date_start__lte=prev_range[1], date_start__lte=prev_range[1],
date_end__gte=prev_range[0], date_end__gte=prev_range[0],
user=self.request.user, user=self.request.user,
status__in=[ status__in=DrawingCampPayment.PW_PAID_STATUSES,
Pingback.PINGBACK_TYPE_REGULAR,
Pingback.PINGBACK_TYPE_GOODWILL,
Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED,
],
) )
# берем все подписки, которые были в периоде # берем все подписки, которые были в периоде

@ -151,11 +151,12 @@ class User(AbstractUser):
@property @property
def paid_one_more(self): def paid_one_more(self):
from apps.payment.models import SchoolPayment, CoursePayment, Payment from apps.payment.models import SchoolPayment, CoursePayment, Payment, DrawingCampPayment
school_payments_cnt = SchoolPayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self, payments_cnt = SchoolPayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self,
add_days=False).count() add_days=False).count()
course_payment_cnt = CoursePayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self).count() payments_cnt += CoursePayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self).count()
return school_payments_cnt > 1 or course_payment_cnt > 1 or (school_payments_cnt and course_payment_cnt) payments_cnt += DrawingCampPayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self).count()
return payments_cnt > 1
@receiver(post_save, sender=User) @receiver(post_save, sender=User)

Loading…
Cancel
Save