From ecda8f8eb6213683db26a32e3e7267aa298a05a0 Mon Sep 17 00:00:00 2001 From: gzbender Date: Mon, 1 Jul 2019 16:34:15 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=BD=D0=B5=20=D0=BD=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D0=BB=D1=8F=D1=8E=D1=82=D1=81=D1=8F=20=D0=B1=D0=BE=D0=BD?= =?UTF-8?q?=D1=83=D1=81=D1=8B=20=D0=B7=D0=B0=20=D0=B2=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=83=D1=8E=20=D0=BF=D0=BE=D0=BA=D1=83=D0=BF=D0=BF=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/user/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/user/models.py b/apps/user/models.py index 11cb5c2d..4ae7e2f8 100644 --- a/apps/user/models.py +++ b/apps/user/models.py @@ -151,11 +151,12 @@ class User(AbstractUser): @property def paid_one_more(self): - from apps.payment.models import SchoolPayment, CoursePayment, Payment - school_payments_cnt = SchoolPayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self, + from apps.payment.models import SchoolPayment, CoursePayment, Payment, DrawingCampPayment + payments_cnt = SchoolPayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self, add_days=False).count() - course_payment_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 += CoursePayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self).count() + payments_cnt += DrawingCampPayment.objects.filter(status__in=Payment.PW_PAID_STATUSES, user=self).count() + return payments_cnt > 1 @receiver(post_save, sender=User) From 0e35330cb3b2a66391c1951f04b244ca8ab2da72 Mon Sep 17 00:00:00 2001 From: gzbender Date: Tue, 2 Jul 2019 12:55:05 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=BD=D0=B5=20=D0=BD=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D0=BB=D1=8F=D1=8E=D1=82=D1=81=D1=8F=20=D0=B1=D0=BE=D0=BD?= =?UTF-8?q?=D1=83=D1=81=D1=8B=20=D0=B7=D0=B0=20=D0=B2=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=83=D1=8E=20=D0=BF=D0=BE=D0=BA=D1=83=D0=BF=D0=BF=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/payment/admin.py | 3 +-- apps/payment/models.py | 3 ++- apps/school/templates/drawing_camp/promo.html | 2 +- .../templates/drawing_camp/schedule_purchased.html | 11 ----------- apps/school/views.py | 6 +----- 5 files changed, 5 insertions(+), 20 deletions(-) diff --git a/apps/payment/admin.py b/apps/payment/admin.py index b26b03a2..d502c2fe 100644 --- a/apps/payment/admin.py +++ b/apps/payment/admin.py @@ -28,11 +28,10 @@ class PaymentChildAdmin(PolymorphicChildModelAdmin): 'user', 'amount', 'status', - 'roistat_visit', 'created_at', ) base_fieldsets = ( - (None, {'fields': ('user', 'amount', 'status', 'data', 'roistat_visit',)}), + (None, {'fields': ('user', 'amount', 'status', 'data',)}), ) readonly_fields = ('amount', 'data',) diff --git a/apps/payment/models.py b/apps/payment/models.py index a216bff0..b8e2d8c1 100644 --- a/apps/payment/models.py +++ b/apps/payment/models.py @@ -115,7 +115,8 @@ class Payment(PolymorphicModel): roistat_visit = models.PositiveIntegerField('Номер визита Roistat', null=True, editable=False) created_at = models.DateTimeField(auto_now_add=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() diff --git a/apps/school/templates/drawing_camp/promo.html b/apps/school/templates/drawing_camp/promo.html index c8b747ca..d6a66c84 100644 --- a/apps/school/templates/drawing_camp/promo.html +++ b/apps/school/templates/drawing_camp/promo.html @@ -14,7 +14,7 @@ class="main__btn btn" 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 %}ваша подписка истекает {{ subscription_ends_humanize }}
перейти к оплате{% endif %} diff --git a/apps/school/templates/drawing_camp/schedule_purchased.html b/apps/school/templates/drawing_camp/schedule_purchased.html index 6128eb6f..15b11875 100644 --- a/apps/school/templates/drawing_camp/schedule_purchased.html +++ b/apps/school/templates/drawing_camp/schedule_purchased.html @@ -8,17 +8,6 @@
Начнется через {{ next_lesson_start }}
- - {% if not is_purchased_future %} - - {% endif %} {% endif %} diff --git a/apps/school/views.py b/apps/school/views.py index a915ea1f..ccbd16ab 100644 --- a/apps/school/views.py +++ b/apps/school/views.py @@ -336,11 +336,7 @@ class DrawingCampView(TemplateView): date_start__lte=prev_range[1], date_end__gte=prev_range[0], user=self.request.user, - status__in=[ - Pingback.PINGBACK_TYPE_REGULAR, - Pingback.PINGBACK_TYPE_GOODWILL, - Pingback.PINGBACK_TYPE_RISK_REVIEWED_ACCEPTED, - ], + status__in=DrawingCampPayment.PW_PAID_STATUSES, ) # берем все подписки, которые были в периоде