Pular para conteúdo

App: courses

Gerencia cursos e matrículas.

Models

Course — curso dentro de uma escola:

class Course(models.Model):
    school = models.ForeignKey(School)
    name = models.CharField(max_length=200)
    purchase_url = models.URLField(blank=True)
    is_active = models.BooleanField(default=True)

Enrollment — matrícula de aluno em curso:

class Enrollment(models.Model):
    student = models.ForeignKey(User)
    course = models.ForeignKey(Course)
    school = models.ForeignKey(School)
    is_active = models.BooleanField(default=True)

Verificação de Limite

Antes de criar um curso, valida o limite do plano:

if not school.subscription.can_add_course():
    messages.error(request, 'Limite de cursos atingido.')
    return redirect('courses:list')