From 8a1a51b4f704636f225025afad7ecfb363c6198a Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Thu, 22 Feb 2018 12:56:23 +0300 Subject: [PATCH] LIL-268. Show purchased courses in profile page --- .../migrations/0009_auto_20180222_0955.py | 19 +++++++++++++++++++ apps/payment/models.py | 2 +- apps/user/views.py | 5 ++++- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 apps/payment/migrations/0009_auto_20180222_0955.py diff --git a/apps/payment/migrations/0009_auto_20180222_0955.py b/apps/payment/migrations/0009_auto_20180222_0955.py new file mode 100644 index 00000000..e82b3f87 --- /dev/null +++ b/apps/payment/migrations/0009_auto_20180222_0955.py @@ -0,0 +1,19 @@ +# Generated by Django 2.0.2 on 2018-02-22 09:55 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('payment', '0008_auto_20180221_1335'), + ] + + operations = [ + migrations.AlterField( + model_name='coursepayment', + name='course', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payments', to='course.Course', verbose_name='Курс'), + ), + ] diff --git a/apps/payment/models.py b/apps/payment/models.py index 6040e4a4..3f13b6e0 100644 --- a/apps/payment/models.py +++ b/apps/payment/models.py @@ -62,7 +62,7 @@ class Payment(PolymorphicModel): class CoursePayment(Payment): - course = models.ForeignKey(Course, on_delete=models.CASCADE, verbose_name='Курс') + course = models.ForeignKey(Course, on_delete=models.CASCADE, verbose_name='Курс', related_name='payments') class Meta: verbose_name = 'Платеж за курс' diff --git a/apps/user/views.py b/apps/user/views.py index 58927b26..118821ba 100644 --- a/apps/user/views.py +++ b/apps/user/views.py @@ -14,6 +14,7 @@ from django.utils.decorators import method_decorator from apps.auth.tokens import verification_email_token from apps.course.models import Course +from apps.payment.models import CoursePayment from apps.notification.utils import send_email from .forms import UserEditForm @@ -45,7 +46,9 @@ class UserView(DetailView): context['drafts'] = Course.objects.filter( author=self.object, status=Course.DRAFT ) - context['paid'] = Course.objects.none() + context['paid'] = Course.objects.filter( + payments__in=CoursePayment.objects.filter(user=self.object), + ) return context