I don't know if it can help, but in the database of the plugins you can find a module called Activity Locking, that you need to install extra on your moodle version.
What does it do?
When it is installed, it allows you to set up a range of permissions based upon the activities (any kind of!) that a student has already accomplished in a certain course.
Let's say for instance in your course you have a test in the introductory section of the course, let's call it TEST A,
then you have a lesson (B) a forum (c) and a test (d) in your first week, and then a lesson (f) a chat (g) and a test in your second week.
With Activity locking you can decide that a student must first try TEST A (with a certain evaluation) then he/she will be allowed to try B and D and write a post in C, after this he will be allowed to learn F, talk in G and try H, if he/she got the predetermined evaluation.
Does it help?