The current implementation uses a threadlocal to determine the active CCX. Instead it should use the matched course_id from the URL. The course_id should be passed as an argument. If it's a CCXLocator, then return the CCX it identifies. If not, return None (no active ccx)
The current implementation uses a threadlocal to determine the active CCX. Instead it should use the matched course_id from the URL. The course_id should be passed as an argument. If it's a CCXLocator, then return the CCX it identifies. If not, return None (no active ccx)