website icon indicating copy to clipboard operation
website copied to clipboard

Create prerequisite for courses

Open karbassi opened this issue 4 years ago • 3 comments

Allow Courses to have prerequisites.

For example, JS 1 has no other course prerequisites. However, JS 2 has a prerequisite of JS 1. JS 3 has JS 2, and so on.

To Do

  • [x] Modify the Course model to allow for specifying a classes prerequisites
  • [x] When a guardian goes to register a student for a session, allow the registration only if the student has met the class prerequisites, which should use the criteria:
    • Student has at least one order for an active session that was a prerequisite class
    • And that session was in the past
    • And there is a non null check-in date
  • [ ] Update the programs template, removing hardcoded prerequisites and replacing with the prerequisites defined via the data model
    • ./website/weallcode/templates/weallcode/programs.html
  • [x] Display the required prerequisites in the class template
    • ./website/weallcode/templates/weallcode/snippets/class.html

Research

  • http://www.softwaregems.com.au/Documents/Student%20Resolutions/Swartz%20DM.pdf
  • https://stackoverflow.com/a/4150138
  • https://github.com/django-danceschool/django-danceschool/blob/master/danceschool/prerequisites/models.py (this is crazy details and overkill for what we need)

karbassi avatar Jul 28 '20 16:07 karbassi