dynamic menu/role design

the data model looks like this:

a course has many terms
a term has many lessons
a lesson has many components

a user subscribes to a course.

As I mentioned before, when the user subscribes they get an email once a
week to tell them that their new lesson is now available.

In order to present the user with a side navigation menu of all the
lessons that they have completed thus far and now - after the email
notification - including the new one for the current week I think
something like this ought to work:

When the user logs in I want to be able to find the course the user has
subscribed to. (maybe a field in the user database table [what if they
have subscribed to two courses???])
When the user logs in I want to be able to find out what term the user
is currently doing. (maybe another field in the database table)
maybe one more field for the current lesson?

I guess this is where I'm then kind of lost, how does all this get
passed up to the view to render the menu?
the other thing that will need some smarts is updating the user model
with next term and next lesson.

Oh yes, I have the course basics up and running with shallow nested
routes, took me a while to get all that, the notification and menu is
core functionality though that I'm stuck on!