show programs in which user holds a course entitlement on programs listing page

This commit is contained in:
McKenzie Welter
2017-12-08 12:45:45 -05:00
parent 25eb31877b
commit 853cd9a0a7
4 changed files with 111 additions and 8 deletions

View File

@@ -219,3 +219,7 @@ class CourseEntitlement(TimeStampedModel):
Fulfills an entitlement by specifying a session.
"""
cls.objects.filter(id=entitlement.id).update(enrollment_course_run=enrollment)
@classmethod
def unexpired_entitlements_for_user(cls, user):
return cls.objects.filter(user=user, expired_at=None).select_related('user')

View File

@@ -27,6 +27,7 @@ class CourseEntitlementFactory(factory.django.DjangoModelFactory):
uuid = factory.LazyFunction(uuid4)
course_uuid = factory.LazyFunction(uuid4)
expired_at = None
mode = FuzzyChoice([CourseMode.VERIFIED, CourseMode.PROFESSIONAL])
user = factory.SubFactory(UserFactory)
order_number = FuzzyText(prefix='TEXTX', chars=string.digits)