I do something similar although I do not have union or legal issues to contend with so not sure if this will suit your needs.
I have a feedback page that I created through Moodle that has the terms and code of conduct that all students must agree to. The text of the code of conduct is written as a label in the feedback form. At the bottom is a checkbox that says "I agree to these terms and will abide by the code of conduct as detailed above."
The checkbox is compulsory so it has to be ticked. I also use activity locking. Every other page on the course is locked until this document is ticked. I had to amend activity locking some time ago to ensure they actually ticked boxes rather than just opened the document. To achieve this I changed the activity locking files so that a grade of 1 woudl be assigned once the feedback form was submitted. The maximum grade was one. So now, activity locking is dependant on the grade being one, which will then unlock every other page on the course. Does this make sense? If you want to see the info on activity lcoking and how to change it it is all detailed on the conditional activities
forum - if you do a search on my name it should be pretty easy to find. This was all done in 2005, in about June.