The Entitlement API will allow for GET, POST, DELETE(Revoke), and variations of these methods of managing and retrieving data about Learner Entitlements. [LEARNER-2661]
27 lines
1.0 KiB
Python
27 lines
1.0 KiB
Python
import uuid as uuid_tools
|
|
|
|
from django.conf import settings
|
|
from django.db import models
|
|
from model_utils.models import TimeStampedModel
|
|
|
|
|
|
class CourseEntitlement(TimeStampedModel):
|
|
"""
|
|
Represents a Student's Entitlement to a Course Run for a given Course.
|
|
"""
|
|
|
|
user = models.ForeignKey(settings.AUTH_USER_MODEL)
|
|
uuid = models.UUIDField(default=uuid_tools.uuid4, editable=False)
|
|
course_uuid = models.UUIDField(help_text='UUID for the Course, not the Course Run')
|
|
expired_at = models.DateTimeField(
|
|
null=True,
|
|
help_text='The date that an entitlement expired, if NULL the entitlement has not expired.'
|
|
)
|
|
mode = models.CharField(max_length=100, help_text='The mode of the Course that will be applied on enroll.')
|
|
enrollment_course_run = models.ForeignKey(
|
|
'student.CourseEnrollment',
|
|
null=True,
|
|
help_text='The current Course enrollment for this entitlement. If NULL the Learner has not enrolled.'
|
|
)
|
|
order_number = models.CharField(max_length=128, null=True)
|