Moodle
  1. Moodle
  2. MDL-33645

A teacher can alter grades of a submission, even if the grade is overridden in the grade book

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.3
    • Component/s: Assignment
    • Labels:
    • Testing Instructions:
      Hide

      1) As a student submit the assignment.
      2) As a teacher grade the submission and verify that the student's grade appears in the grader report.
      3) Turn editing on and override a grade in the grader report by clicking it then typing a new grade in the left hand text box and pressing enter.
      4) The grade should be updated and the background color of the cell should change to indicate that the grade has been overridden.
      5) Return to the assignment and check that you can no longer alter the grade.either from the single grade page or via quickgrading in the submissions table.
      6) When on single grading page, try altering the html source to change the grade. and submit the changes and make sure they are not saved (you might not get any error, just make sure they are not saved)
      7) Go back to the grader report, turn editing on and click the edit icon (hand holding a pencil) for the assignment.
      8) Uncheck the overridden checkbox and press save. Turn editing off.
      9) Verify that you are returned to the grader report and that it now displays the student's original grade.
      10) Return to the assignment and verify that you can now alter the grade.

      Show
      1) As a student submit the assignment. 2) As a teacher grade the submission and verify that the student's grade appears in the grader report. 3) Turn editing on and override a grade in the grader report by clicking it then typing a new grade in the left hand text box and pressing enter. 4) The grade should be updated and the background color of the cell should change to indicate that the grade has been overridden. 5) Return to the assignment and check that you can no longer alter the grade.either from the single grade page or via quickgrading in the submissions table. 6) When on single grading page, try altering the html source to change the grade. and submit the changes and make sure they are not saved (you might not get any error, just make sure they are not saved) 7) Go back to the grader report, turn editing on and click the edit icon (hand holding a pencil) for the assignment. 8) Uncheck the overridden checkbox and press save. Turn editing off. 9) Verify that you are returned to the grader report and that it now displays the student's original grade. 10) Return to the assignment and verify that you can now alter the grade.
    • Affected Branches:
      MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_23_STABLE
    • Pull Master Branch:
      MDL-33645-master
    • Rank:
      41636

      Description

      Replication steps:-
      1) As a student submit the assignment.
      2) As a teacher grade the submission and verify that the student's grade appears in the grader report.
      3) Turn editing on and override a grade in the grader report by clicking it then typing a new grade in the left hand text box and pressing enter.
      4) The grade should be updated and the background color of the cell should change to indicate that the grade has been overriden.

      Expected Result:-
      Return to the assignment and check that you can no longer alter the grade either from the single grade page or via quickgrading in the submissions table.

      Actual Result:-
      Teacher is able to alter the grades from the assignments in both the single grade page and via quickgrading in the submissions table.

        Issue Links

          Activity

          Hide
          Ankit Agarwal added a comment -

          this works for 2.2 on-line text assignment, so it is just an issue with 2.3 assign module.
          Thanks

          Show
          Ankit Agarwal added a comment - this works for 2.2 on-line text assignment, so it is just an issue with 2.3 assign module. Thanks
          Hide
          Ankit Agarwal added a comment -

          @integrator
          This is a master only patch

          Thanks

          Show
          Ankit Agarwal added a comment - @integrator This is a master only patch Thanks
          Hide
          moodle.com added a comment -

          Damyon, does this look OK?

          Show
          moodle.com added a comment - Damyon, does this look OK?
          Hide
          Damyon Wiese added a comment -

          Not quite - it is missing the same checks for quickgrading - I'll update the test instructions to cover this.

          Show
          Damyon Wiese added a comment - Not quite - it is missing the same checks for quickgrading - I'll update the test instructions to cover this.
          Hide
          Ankit Agarwal added a comment - - edited

          Hi Damyon,
          Thanks for the review.
          I was just looking at this again, and I noticed that the form can be hacked, if you edit the source and change the value from there.
          Do you think using hardFreeze with setConstant() will make more sense?

          Will add the changes to quick grading page as well.
          Thanks

          Show
          Ankit Agarwal added a comment - - edited Hi Damyon, Thanks for the review. I was just looking at this again, and I noticed that the form can be hacked, if you edit the source and change the value from there. Do you think using hardFreeze with setConstant() will make more sense? Will add the changes to quick grading page as well. Thanks
          Hide
          Damyon Wiese added a comment -

          Hi Ankit,

          I think we should also modify the process_save_grade and process_save_quick_grades functions to ignore the passed in grade if grading is disabled for the current user. That will prevent anyone hacking the form.

          Thanks, Damyon

          Show
          Damyon Wiese added a comment - Hi Ankit, I think we should also modify the process_save_grade and process_save_quick_grades functions to ignore the passed in grade if grading is disabled for the current user. That will prevent anyone hacking the form. Thanks, Damyon
          Hide
          Ankit Agarwal added a comment -

          Hi Damyon,
          I have updated the patch. Not sure if that is the correct place to make the changes. Requesting another review.
          Thanks

          Show
          Ankit Agarwal added a comment - Hi Damyon, I have updated the patch. Not sure if that is the correct place to make the changes. Requesting another review. Thanks
          Hide
          Damyon Wiese added a comment -

          Hi Ankit,

          Thanks for the updates. This looks good to me now.

          Regards, Damyon

          Show
          Damyon Wiese added a comment - Hi Ankit, Thanks for the updates. This looks good to me now. Regards, Damyon
          Hide
          Ankit Agarwal added a comment -

          Thanks Damyon for the review.

          Sending for integration.
          Thanks

          Show
          Ankit Agarwal added a comment - Thanks Damyon for the review. Sending for integration. Thanks
          Hide
          Sam Hemelryk added a comment -

          Thanks guys, this has been integrated now

          Show
          Sam Hemelryk added a comment - Thanks guys, this has been integrated now
          Hide
          Tim Barker added a comment -

          Ran the testing instructions and all steps passed.

          Your code is Tim proof! Good work.

          Show
          Tim Barker added a comment - Ran the testing instructions and all steps passed. Your code is Tim proof! Good work.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Big thanks for the effort. This is now part of Moodle upstream. Let's wait for regressions, yay! LOL

          Ciao

          Show
          Eloy Lafuente (stronk7) added a comment - Big thanks for the effort. This is now part of Moodle upstream. Let's wait for regressions, yay! LOL Ciao

            People

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

              Dates

              • Created:
                Updated:
                Resolved: