Moodle
  1. Moodle
  2. MDL-41908

Error in manually grading 'Essay' type quiz questions in a quiz

    Details

    • Testing Instructions:
      Hide
      1. Login as the admin.
      2. Turn on debugging and show on screen.
      3. Create a course
      4. Enrol a student in the course
      5. Create quiz with unlimited attempts and an essay question.
      6. Login as the student.
      7. Attempt the quiz 20 times. (fewer may be okay)
      8. Login as the admin.
      9. Goto manually grading in the quiz.
      10. Click on grade link under To grade.
      11. The page will display correctly
      12. Change shown question per page to 20.
      13. The page will display correctly
      Show
      Login as the admin. Turn on debugging and show on screen. Create a course Enrol a student in the course Create quiz with unlimited attempts and an essay question. Login as the student. Attempt the quiz 20 times. (fewer may be okay) Login as the admin. Goto manually grading in the quiz. Click on grade link under To grade. The page will display correctly Change shown question per page to 20. The page will display correctly
    • Workaround:
      Hide

      Turn debugging down or off.

      Show
      Turn debugging down or off.
    • Difficulty:
      Moderate
    • Affected Branches:
      MOODLE_23_STABLE, MOODLE_24_STABLE, MOODLE_25_STABLE
    • Fixed Branches:
      MOODLE_24_STABLE, MOODLE_25_STABLE
    • Pull from Repository:
    • Pull 2.4 Branch:
      mdl41908-moodl24
    • Pull 2.5 Branch:
      mdl41908-moodl25
    • Pull Master Branch:
      mdl41908-master
    • Rank:
      53081

      Description

      PHP Unknown Error: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /var/www/lib/pear/HTML/QuickForm.php on line 60

        Activity

        Hide
        Tim Hunt added a comment -

        Thanks for finding and fixing it. I am surprised I have never seen that error.

        I assume this is ready for peer review.

        1. First line of the commit comment is too long.

        2. I would be surprised if the integrators accept the 2.3 branch, since that is now security fixes only. Still, no harm in having the branch.

        3. You could usefully edit the testing instructions. They currently explain how to reproduce the bug, not how to verify that it is fixed.

        So, almost ready for integration, but not quite.

        Show
        Tim Hunt added a comment - Thanks for finding and fixing it. I am surprised I have never seen that error. I assume this is ready for peer review. 1. First line of the commit comment is too long. 2. I would be surprised if the integrators accept the 2.3 branch, since that is now security fixes only. Still, no harm in having the branch. 3. You could usefully edit the testing instructions. They currently explain how to reproduce the bug, not how to verify that it is fixed. So, almost ready for integration, but not quite.
        Hide
        Tim Lock added a comment -

        Hi Tim,

        Thanks for you comments, please advise where I can read up on the commit message guidelines?

        Show
        Tim Lock added a comment - Hi Tim, Thanks for you comments, please advise where I can read up on the commit message guidelines?
        Show
        Adam Olley added a comment - http://docs.moodle.org/dev/Commit_cheat_sheet
        Hide
        Tim Lock added a comment -

        Updated commit msg and github links

        Show
        Tim Lock added a comment - Updated commit msg and github links
        Hide
        Tim Hunt added a comment -

        The Master diff URL now points to an unrelated commit.

        Show
        Tim Hunt added a comment - The Master diff URL now points to an unrelated commit.
        Hide
        Tim Lock added a comment -

        Fixed

        Show
        Tim Lock added a comment - Fixed
        Hide
        Tim Hunt added a comment -

        I don't really like this. In fact, I really don't like this.

        But given the horrible state of the formslib code, what you have done is probably the least bad solution. Thanks.

        Note that, if you want to get depressed search for isError, and you will find other places calling it statically.

        Anyway, submitting for integration.

        Show
        Tim Hunt added a comment - I don't really like this. In fact, I really don't like this. But given the horrible state of the formslib code, what you have done is probably the least bad solution. Thanks. Note that, if you want to get depressed search for isError, and you will find other places calling it statically. Anyway, submitting for integration.
        Hide
        Dan Poltawski added a comment -

        The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

        TIA and ciao

        Show
        Dan Poltawski added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. TIA and ciao
        Hide
        Dan Poltawski added a comment - - edited

        Thanks Tim, integrated to master, 25 and 24.

        Tim your 25 branch contained many more commits so I cherry-picked there, it'd be good if that branch was clean for future.

        It looks like your MOODLE_25_STABLE branch has lots of commits which are different from upstream: https://github.com/tlock/moodle/compare/moodle:MOODLE_25_STABLE...MOODLE_25_STABLE

        Show
        Dan Poltawski added a comment - - edited Thanks Tim, integrated to master, 25 and 24. Tim your 25 branch contained many more commits so I cherry-picked there, it'd be good if that branch was clean for future. It looks like your MOODLE_25_STABLE branch has lots of commits which are different from upstream: https://github.com/tlock/moodle/compare/moodle:MOODLE_25_STABLE...MOODLE_25_STABLE
        Hide
        Frédéric Massart added a comment -

        Passing, thanks.

        I just noticed the following:

        Did you remember to call setType() for 'id'? Defaulting to PARAM_RAW cleaning.
        line 1334 of /lib/formslib.php: call to debugging()
        line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType()
        line 202 of /lib/formslib.php: call to moodleform->_process_submission()
        line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform()
        line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct()
        line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface()
        line 100 of /mod/quiz/report.php: call to quiz_grading_report->display()
        Did you remember to call setType() for 'mode'? Defaulting to PARAM_RAW cleaning.
        line 1334 of /lib/formslib.php: call to debugging()
        line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType()
        line 202 of /lib/formslib.php: call to moodleform->_process_submission()
        line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform()
        line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct()
        line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface()
        line 100 of /mod/quiz/report.php: call to quiz_grading_report->display()
        Did you remember to call setType() for 'slot'? Defaulting to PARAM_RAW cleaning.
        line 1334 of /lib/formslib.php: call to debugging()
        line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType()
        line 202 of /lib/formslib.php: call to moodleform->_process_submission()
        line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform()
        line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct()
        line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface()
        line 100 of /mod/quiz/report.php: call to quiz_grading_report->display()
        Did you remember to call setType() for 'qid'? Defaulting to PARAM_RAW cleaning.
        line 1334 of /lib/formslib.php: call to debugging()
        line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType()
        line 202 of /lib/formslib.php: call to moodleform->_process_submission()
        line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform()
        line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct()
        line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface()
        line 100 of /mod/quiz/report.php: call to quiz_grading_report->display()
        Did you remember to call setType() for 'page'? Defaulting to PARAM_RAW cleaning.
        line 1334 of /lib/formslib.php: call to debugging()
        line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType()
        line 202 of /lib/formslib.php: call to moodleform->_process_submission()
        line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform()
        line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct()
        line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface()
        line 100 of /mod/quiz/report.php: call to quiz_grading_report->display()
        

        Is there an issue for it?

        Show
        Frédéric Massart added a comment - Passing, thanks. I just noticed the following: Did you remember to call setType() for 'id'? Defaulting to PARAM_RAW cleaning. line 1334 of /lib/formslib.php: call to debugging() line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType() line 202 of /lib/formslib.php: call to moodleform->_process_submission() line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform() line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct() line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface() line 100 of /mod/quiz/report.php: call to quiz_grading_report->display() Did you remember to call setType() for 'mode'? Defaulting to PARAM_RAW cleaning. line 1334 of /lib/formslib.php: call to debugging() line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType() line 202 of /lib/formslib.php: call to moodleform->_process_submission() line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform() line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct() line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface() line 100 of /mod/quiz/report.php: call to quiz_grading_report->display() Did you remember to call setType() for 'slot'? Defaulting to PARAM_RAW cleaning. line 1334 of /lib/formslib.php: call to debugging() line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType() line 202 of /lib/formslib.php: call to moodleform->_process_submission() line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform() line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct() line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface() line 100 of /mod/quiz/report.php: call to quiz_grading_report->display() Did you remember to call setType() for 'qid'? Defaulting to PARAM_RAW cleaning. line 1334 of /lib/formslib.php: call to debugging() line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType() line 202 of /lib/formslib.php: call to moodleform->_process_submission() line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform() line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct() line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface() line 100 of /mod/quiz/report.php: call to quiz_grading_report->display() Did you remember to call setType() for 'page'? Defaulting to PARAM_RAW cleaning. line 1334 of /lib/formslib.php: call to debugging() line 281 of /lib/formslib.php: call to moodleform->detectMissingSetType() line 202 of /lib/formslib.php: call to moodleform->_process_submission() line 51 of /mod/quiz/report/grading/gradingsettings_form.php: call to moodleform->moodleform() line 361 of /mod/quiz/report/grading/report.php: call to quiz_grading_settings_form->__construct() line 155 of /mod/quiz/report/grading/report.php: call to quiz_grading_report->display_grading_interface() line 100 of /mod/quiz/report.php: call to quiz_grading_report->display() Is there an issue for it?
        Hide
        Eloy Lafuente (stronk7) added a comment -

        Yes, it's happening (somewhere in the French Polynesia, right now). And you did it, raising Moodle to new excellency levels.

        Or, if you prefer, yes, you fixed that boring issue.

        Thanks anyway! Ciao

        Show
        Eloy Lafuente (stronk7) added a comment - Yes, it's happening (somewhere in the French Polynesia, right now). And you did it, raising Moodle to new excellency levels. Or, if you prefer, yes, you fixed that boring issue. Thanks anyway! Ciao

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: