Forums
Greetings,
We are using the current version of Opigno 1 with opigno_quiz_app 7.x-1.18 and either I am missing something or there is a major issue with how the module routes the user when resuming a class (via /node/[nid]/resume).
The setup:
We have a class with 12 courses in a specified order; each course is dependent on the previous as a required course, and each course has multiple lessons, all included in the list of lessons required for course validation. The last lesson in each course is a graded quiz with a pass rate of 70% and unlimited attempts while the rest are "theory" lessons with a pass rate of 0%.
The situation:
Users are presented with each course in the correct order so long as each course's graded quiz is passed; when a graded quiz is failed, however, the user is still passed on to the next course even though, technically, the user didn't pass the course which is a requirement for the next course.
Expected outcome:
If the user fails an end-of-course graded quiz, they should have to retake the quiz before progressing to the next course.
Discussion:
I've looked in detail at the opigno_quiz_app_module's opigno_quiz_app_course_resume() function and it is apparent that the passed status of a course is not considered when determining which course to continue. At most, the subroutine in opigno_quiz_app_course_resume_get_path() checks to see if the last lesson in the course was finished, not whether it was passed. I could hack this function to use some of the existing helpers to determine the passing state and direct accordingly, but I understand that there is a level of complexity that comes with determining how many attempts a user has left and what should happen when they run out, etc.
It appears that setting a required course has no effect on the class progression... What am I missing?
I figured it out...