courses.models

Create the models for the Django admin interface.

Module Contents

class courses.models.Course

Bases: django.db.models.Model

Defines a course.

save(self, *args, **kwargs)

On save, if deadline or inactivity is checked, add the jobs to the scheduler.

delete(self, *args, **kwargs)

On delete, delete the scheduled job.

class courses.models.Resource

Bases: django.db.models.Model

Defines resource.

Resource has a name and is linked to a course. Has one of the predefined types and has a target. Chapters can have a book as parent. External is a bool that defines if it is external resource, internal course resource cannot be edited.

class courses.models.Subject

Bases: django.db.models.Model

Defines a subject.

A subject has a name and is linked to a course and contains (multiple) resource objects.

class courses.models.Assessment

Bases: django.db.models.Model

Defines all standard fields for assessments in Moodle.

An assessment is always linked to a course and has a name. This information is loaded from Moodle.

clean(self)

Do validations on the form.

Ensure that only one of resources and subjects can be set. Ensure that a subject has at least one resource.

class courses.models.Quiz

Bases: courses.models.Assessment

A quiz is a type of assessment.

class courses.models.Choice

Bases: courses.models.Assessment

A choice is a type of assessment.

class courses.models.Question

Bases: courses.models.Assessment

A Quiz has multiple questions.

class courses.models.Assignment

Bases: courses.models.Assessment

An assignment is a type of assessment.

class courses.models.User

Bases: django.contrib.auth.models.AbstractUser

Add a Moodle ID to the user model.

class courses.models.Role

Bases: django.db.models.Model

Add a Role to a user.