Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-32076

Unlimited Grades Not Accepted By Grader Report with AJAX Editing On

    Details

    • Testing Instructions:
      Hide

      For this test you will need a course with at least one student in it.

      Turn the site setting "unlimitedgrades" on.
      Make sure that the site setting "grade_report_enableajax" is on.
      Create an assignment with a maximum grade of 100.
      Go to the grader report.

      Click in the student row in the assignment column (ie the cell where the student assignment grade should go) and enter a valid grade ie 50
      The cell background color will change to show that the grade is now overridden (manually set within the gradebook instead of being supplied by the activity)
      Reload the page by clicking on "grader report" in the navigation bar.
      Check your change was actually saved.

      Enter a grade above 100 ie 120
      Reload the page by clicking on "grader report" in the navigation bar.
      Check your change was actually saved.
      Change the grade back to something under 100.

      Turn the site setting "unlimitedgrades" off.
      Enter a grade above 100 ie 120
      You should get an error saying "The grade entered for assignment for Sam Student is more than the maximum allowed"
      The display of the error dialog is kind of messed up. There is a linked issue to fix this.

      Enter a grade less than 100 and check that the change is saved.

      Show
      For this test you will need a course with at least one student in it. Turn the site setting "unlimitedgrades" on. Make sure that the site setting "grade_report_enableajax" is on. Create an assignment with a maximum grade of 100. Go to the grader report. Click in the student row in the assignment column (ie the cell where the student assignment grade should go) and enter a valid grade ie 50 The cell background color will change to show that the grade is now overridden (manually set within the gradebook instead of being supplied by the activity) Reload the page by clicking on "grader report" in the navigation bar. Check your change was actually saved. Enter a grade above 100 ie 120 Reload the page by clicking on "grader report" in the navigation bar. Check your change was actually saved. Change the grade back to something under 100. Turn the site setting "unlimitedgrades" off. Enter a grade above 100 ie 120 You should get an error saying "The grade entered for assignment for Sam Student is more than the maximum allowed" The display of the error dialog is kind of messed up. There is a linked issue to fix this. Enter a grade less than 100 and check that the change is saved.
    • Affected Branches:
      MOODLE_21_STABLE, MOODLE_22_STABLE, MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_23_STABLE, MOODLE_24_STABLE
    • Pull Master Branch:
      MDL-32076_unlimited2

      Description

      With both Unlimited Grades and AJAX Editing for the grader report turned on, the grader report will not allow grades higher than the maximum points to be entered via AJAX editing. It will allow grades higher than the maximum if you "Turn Editing On" and save the grade, but doing it via AJAX editing does not work.

      In 2.1.4, we are receiving an error message:
      "Error Click this box to remove it
      The grade entered for ... for student ... is more than the maximum allowed"

      In 2.2.1, I'm not receiving an error message. It looks like it saves the grade but refreshing the page reveals that it didn't save it.

      Steps to reproduce:
      1. Turn on Unlimited Grades in Site admin > Grades > General settings.
      2. Turn on AJAX Editing for Grader report in Site admin > Grades > Report settings > Grader report.
      3. Create an assignment (or probably any graded activity) with some point total, e.g. 10 points.
      4. On grader report, do not click "Turn Editing On." Click the assignment grade cell for any student to edit it.
      5. Enter a point value greater than the maximum set in step 3, e.g. 15 points. Press Enter to save.
      6. On 2.1.4, you'll get an error message.
      7. On 2.2.1, it appears to save. Refresh the page. It didn't save.

      This was reproduced on pure 2.1.4 and 2.2.1 sites with absolutely no non-standard plugins or customizations.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              salvetore Michael de Raadt added a comment -

              Thanks for reporting this.

              I've put that on the backlog.

              In the meantime feel free to help us work on this issue.

              Show
              salvetore Michael de Raadt added a comment - Thanks for reporting this. I've put that on the backlog. In the meantime feel free to help us work on this issue.
              Hide
              cfulton Charles Fulton added a comment -

              We're seeing this in 2.3.3 as well.

              Show
              cfulton Charles Fulton added a comment - We're seeing this in 2.3.3 as well.
              Hide
              andyjdavis Andrew Davis added a comment -

              Putting this up for peer review. Once thats done Ill see how far I'll backport it.

              Show
              andyjdavis Andrew Davis added a comment - Putting this up for peer review. Once thats done Ill see how far I'll backport it.
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Hello Andrew,

              Looking at similar implementation in grade/report/grader/lib.php - line 256
              It's getting bounded_grade value and then comparing it with final grade.

              IMO this is the way to go about it.

              FYI: In current code it will be nice to remove extra space in else if. Personally I would combine null and empty check in one if statement.

              if (is_null($finalgrade) || !empty($CFG->unlimitedgrades)) {
              

              Anyway this is not valid as, the correct way is to get the bounded value for comparison.

              Show
              rajeshtaneja Rajesh Taneja added a comment - Hello Andrew, Looking at similar implementation in grade/report/grader/lib.php - line 256 It's getting bounded_grade value and then comparing it with final grade. IMO this is the way to go about it. FYI: In current code it will be nice to remove extra space in else if. Personally I would combine null and empty check in one if statement. if (is_null($finalgrade) || !empty($CFG->unlimitedgrades)) { Anyway this is not valid as, the correct way is to get the bounded value for comparison.
              Hide
              andyjdavis Andrew Davis added a comment -

              Well spotted I've updated the fix to use bounded_grade() and created 2.4 and 2.3 versions. Putting this up for integration.

              Show
              andyjdavis Andrew Davis added a comment - Well spotted I've updated the fix to use bounded_grade() and created 2.4 and 2.3 versions. Putting this up for integration.
              Hide
              poltawski 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
              poltawski 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
              stronk7 Eloy Lafuente (stronk7) added a comment -

              Looks perfect, but:

              1) It's conflicting around some groups code (grade/report/grader/lib.php)
              2) Couldn't we have this part of the API covered with some unit test to guarantee everything continues working always (optional). Also, why are there 2 places doing the same calculation, smells dupe code (for your consideration, not now).

              Reopening, ciao

              Show
              stronk7 Eloy Lafuente (stronk7) added a comment - Looks perfect, but: 1) It's conflicting around some groups code (grade/report/grader/lib.php) 2) Couldn't we have this part of the API covered with some unit test to guarantee everything continues working always (optional). Also, why are there 2 places doing the same calculation, smells dupe code (for your consideration, not now). Reopening, ciao
              Hide
              cibot CiBoT added a comment -

              Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.

              Show
              cibot CiBoT added a comment - Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.
              Hide
              andyjdavis Andrew Davis added a comment -

              I've raised MDL-37653 to look into removing the duplication. I'll need to wait for current integration to go into master before I can resolve the conflict. I'll add some unit tests while I'm waiting for that.

              Show
              andyjdavis Andrew Davis added a comment - I've raised MDL-37653 to look into removing the duplication. I'll need to wait for current integration to go into master before I can resolve the conflict. I'll add some unit tests while I'm waiting for that.
              Hide
              andyjdavis Andrew Davis added a comment -

              I've added some unit test code. I'm just waiting for the weeklies to be rolled then I'll rebase and put this up for peer review.

              Show
              andyjdavis Andrew Davis added a comment - I've added some unit test code. I'm just waiting for the weeklies to be rolled then I'll rebase and put this up for peer review.
              Hide
              andyjdavis Andrew Davis added a comment -

              Here's a new version. Git was being difficult so I wound up creating a new branch.

              Show
              andyjdavis Andrew Davis added a comment - Here's a new version. Git was being difficult so I wound up creating a new branch.
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Thanks Andrew,

              Patch looks good to me.
              [y] Syntax
              [y] Output
              [y] Whitespace
              [-] Language
              [-] Databases
              [y] Testing
              [-] Security
              [-] Documentation
              [y] Git
              [y] Sanity check

              FYI:

              1. https://github.com/andyjdavis/moodle/compare/master...MDL-32076_unlimited2#L2R55 Missed dot at the end of comment.
              2. Should you consider moving create_report() to data_generator.php, so it can be re-used ?
              Show
              rajeshtaneja Rajesh Taneja added a comment - Thanks Andrew, Patch looks good to me. [y] Syntax [y] Output [y] Whitespace [-] Language [-] Databases [y] Testing [-] Security [-] Documentation [y] Git [y] Sanity check FYI: https://github.com/andyjdavis/moodle/compare/master...MDL-32076_unlimited2#L2R55 Missed dot at the end of comment. Should you consider moving create_report() to data_generator.php, so it can be re-used ?
              Hide
              andyjdavis Andrew Davis added a comment -

              I've fixed up the comments missing the full stop.

              I suspect that there will be a similar create_report() function in each of the grade report unit test files however they are likely to be subtly different. Once I've got basic unit tests for all of the reports I'll look at refactoring them.

              Putting this up for integration.

              Show
              andyjdavis Andrew Davis added a comment - I've fixed up the comments missing the full stop. I suspect that there will be a similar create_report() function in each of the grade report unit test files however they are likely to be subtly different. Once I've got basic unit tests for all of the reports I'll look at refactoring them. Putting this up for integration.
              Hide
              poltawski Dan Poltawski added a comment -

              Integrated to master, 24 and 23. Thanks Andrew

              Show
              poltawski Dan Poltawski added a comment - Integrated to master, 24 and 23. Thanks Andrew
              Hide
              poltawski Dan Poltawski added a comment -

              Hi Andrew,

              This fails on 2.3 cos of the data generator:
              HP Fatal error: Call to undefined method phpunit_data_generator::enrol_user() in /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/grade/tests/reportgrader_test.php on line 53
              PHP Stack trace:
              PHP 1.

              {main}() /opt/local/bin/phpunit:0
              PHP 2. PHPUnit_TextUI_Command::main() /opt/local/bin/phpunit:46
              PHP 3. PHPUnit_TextUI_Command->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:129
              PHP 4. PHPUnit_TextUI_TestRunner->doRun() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:176
              PHP 5. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/TestRunner.php:346
              PHP 6. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705
              PHP 7. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705
              PHP 8. PHPUnit_Framework_TestSuite->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:745
              PHP 9. PHPUnit_Framework_TestCase->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:775
              PHP 10. PHPUnit_Framework_TestResult->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:769
              PHP 11. advanced_testcase->runBare() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestResult.php:648
              PHP 12. PHPUnit_Framework_TestCase->runBare() /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/lib/phpunit/classes/advanced_testcase.php:76
              PHP 13. PHPUnit_Framework_TestCase->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:824
              PHP 14. ReflectionMethod->invokeArgs() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969
              PHP 15. grade_report_graderlib_testcase->test_process_data() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969

              Fatal error: Call to undefined method phpunit_data_generator::enrol_user() in /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/grade/tests/reportgrader_test.php on line 53

              Call Stack:
              0.0002 633352 1. {main}

              () /opt/local/bin/phpunit:0
              0.0094 1841264 2. PHPUnit_TextUI_Command::main() /opt/local/bin/phpunit:46
              0.0095 1841992 3. PHPUnit_TextUI_Command->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:129
              8.2624 207283504 4. PHPUnit_TextUI_TestRunner->doRun() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:176
              8.2683 207689632 5. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/TestRunner.php:346
              236.3819 246479008 6. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705
              243.6095 249282152 7. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705
              243.6098 249282552 8. PHPUnit_Framework_TestSuite->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:745
              243.6098 249282552 9. PHPUnit_Framework_TestCase->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:775
              243.6098 249282552 10. PHPUnit_Framework_TestResult->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:769
              243.6100 249283824 11. advanced_testcase->runBare() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestResult.php:648
              243.6103 249306280 12. PHPUnit_Framework_TestCase->runBare() /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/lib/phpunit/classes/advanced_testcase.php:76
              243.6104 249347528 13. PHPUnit_Framework_TestCase->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:824
              243.6104 249348952 14. ReflectionMethod->invokeArgs() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969
              243.6104 249348984 15. grade_report_graderlib_testcase->test_process_data() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969

              Show
              poltawski Dan Poltawski added a comment - Hi Andrew, This fails on 2.3 cos of the data generator: HP Fatal error: Call to undefined method phpunit_data_generator::enrol_user() in /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/grade/tests/reportgrader_test.php on line 53 PHP Stack trace: PHP 1. {main}() /opt/local/bin/phpunit:0 PHP 2. PHPUnit_TextUI_Command::main() /opt/local/bin/phpunit:46 PHP 3. PHPUnit_TextUI_Command->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:129 PHP 4. PHPUnit_TextUI_TestRunner->doRun() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:176 PHP 5. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/TestRunner.php:346 PHP 6. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705 PHP 7. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705 PHP 8. PHPUnit_Framework_TestSuite->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:745 PHP 9. PHPUnit_Framework_TestCase->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:775 PHP 10. PHPUnit_Framework_TestResult->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:769 PHP 11. advanced_testcase->runBare() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestResult.php:648 PHP 12. PHPUnit_Framework_TestCase->runBare() /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/lib/phpunit/classes/advanced_testcase.php:76 PHP 13. PHPUnit_Framework_TestCase->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:824 PHP 14. ReflectionMethod->invokeArgs() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969 PHP 15. grade_report_graderlib_testcase->test_process_data() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969 Fatal error: Call to undefined method phpunit_data_generator::enrol_user() in /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/grade/tests/reportgrader_test.php on line 53 Call Stack: 0.0002 633352 1. {main} () /opt/local/bin/phpunit:0 0.0094 1841264 2. PHPUnit_TextUI_Command::main() /opt/local/bin/phpunit:46 0.0095 1841992 3. PHPUnit_TextUI_Command->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:129 8.2624 207283504 4. PHPUnit_TextUI_TestRunner->doRun() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/Command.php:176 8.2683 207689632 5. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/TextUI/TestRunner.php:346 236.3819 246479008 6. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705 243.6095 249282152 7. PHPUnit_Framework_TestSuite->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:705 243.6098 249282552 8. PHPUnit_Framework_TestSuite->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:745 243.6098 249282552 9. PHPUnit_Framework_TestCase->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestSuite.php:775 243.6098 249282552 10. PHPUnit_Framework_TestResult->run() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:769 243.6100 249283824 11. advanced_testcase->runBare() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestResult.php:648 243.6103 249306280 12. PHPUnit_Framework_TestCase->runBare() /Users/Shared/Jenkins/Home/git_repositories/MOODLE_23_STABLE/lib/phpunit/classes/advanced_testcase.php:76 243.6104 249347528 13. PHPUnit_Framework_TestCase->runTest() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:824 243.6104 249348952 14. ReflectionMethod->invokeArgs() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969 243.6104 249348984 15. grade_report_graderlib_testcase->test_process_data() /opt/local/lib/php53/pear/share/pear/PHPUnit/Framework/TestCase.php:969
              Hide
              poltawski Dan Poltawski added a comment -

              Hi, this is failing on master and 24 too:

              grade_report_graderlib_testcase::test_process_data
              Invalid argument supplied for foreach()
               
              /Users/Shared/Jenkins/Home/git_repositories/master/grade/report/grader/lib.php:197
              /Users/Shared/Jenkins/Home/git_repositories/master/grade/tests/reportgrader_test.php:73
              /Users/Shared/Jenkins/Home/git_repositories/master/lib/phpunit/classes/advanced_testcase.php:76

              Show
              poltawski Dan Poltawski added a comment - Hi, this is failing on master and 24 too: grade_report_graderlib_testcase::test_process_data Invalid argument supplied for foreach()   /Users/Shared/Jenkins/Home/git_repositories/master/grade/report/grader/lib.php:197 /Users/Shared/Jenkins/Home/git_repositories/master/grade/tests/reportgrader_test.php:73 /Users/Shared/Jenkins/Home/git_repositories/master/lib/phpunit/classes/advanced_testcase.php:76
              Hide
              poltawski Dan Poltawski added a comment -

              I've reverted this as it was breaking tests on all branches.

              Show
              poltawski Dan Poltawski added a comment - I've reverted this as it was breaking tests on all branches.
              Hide
              cibot CiBoT added a comment -

              Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.

              Show
              cibot CiBoT added a comment - Moving this reopened issue out from current integration. Please, re-submit it for integration once ready.
              Hide
              andyjdavis Andrew Davis added a comment -

              bah, the workings of process_data() changed, likely by MDL-35074, since I created my branch so the new unit tests don't work correctly. Fixing them now.

              Show
              andyjdavis Andrew Davis added a comment - bah, the workings of process_data() changed, likely by MDL-35074 , since I created my branch so the new unit tests don't work correctly. Fixing them now.
              Hide
              andyjdavis Andrew Davis added a comment -

              The master and 2.4 version unit tests now function with the improved process_data(). The 2.3 version now just contains the core code fix without the unit tests.

              Show
              andyjdavis Andrew Davis added a comment - The master and 2.4 version unit tests now function with the improved process_data(). The 2.3 version now just contains the core code fix without the unit tests.
              Hide
              damyon Damyon Wiese 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.

              Cheers!

              Show
              damyon Damyon Wiese 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. Cheers!
              Hide
              poltawski Dan Poltawski added a comment -

              Integrated, thanks!

              Show
              poltawski Dan Poltawski added a comment - Integrated, thanks!
              Hide
              dmonllao David Monllaó added a comment -

              Tested in 23, 24 and master I've noticed a two things:

              • When unlimitedgrades is disabled an editing mode it turned on, I can set the value without receiving any error (but the wrong value is not saved)
              • When unlimitedgrades is enabled and I use a very high value like 120000 I see the *Error Click this box to remove it
                The grade entered for ASDASDAS for Student 111 is more than the maximum allowed* error

              Waiting for feedback

              Show
              dmonllao David Monllaó added a comment - Tested in 23, 24 and master I've noticed a two things: When unlimitedgrades is disabled an editing mode it turned on, I can set the value without receiving any error (but the wrong value is not saved) When unlimitedgrades is enabled and I use a very high value like 120000 I see the *Error Click this box to remove it The grade entered for ASDASDAS for Student 111 is more than the maximum allowed* error Waiting for feedback
              Hide
              andyjdavis Andrew Davis added a comment -

              When I load the grader report Im getting JS error although this issue hasnt touched the javascript.

              Timestamp: 13/02/13 11:18:08
              Error: TypeError: this.report.grades is undefined
              Source File: http://localhost/moodle/int/master/lib/javascript.php/1360725302/grade/report/grader/module.js
              Line: 1

              Not sure what the deal is. afaik, the JS hasn't changed this week.

              Show
              andyjdavis Andrew Davis added a comment - When I load the grader report Im getting JS error although this issue hasnt touched the javascript. Timestamp: 13/02/13 11:18:08 Error: TypeError: this.report.grades is undefined Source File: http://localhost/moodle/int/master/lib/javascript.php/1360725302/grade/report/grader/module.js Line: 1 Not sure what the deal is. afaik, the JS hasn't changed this week.
              Hide
              andyjdavis Andrew Davis added a comment -

              Just double checked and it all works fine in my branch but I get the above JS error in integration.

              Show
              andyjdavis Andrew Davis added a comment - Just double checked and it all works fine in my branch but I get the above JS error in integration.
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Can this be related to MDL-37598 ?

              Show
              rajeshtaneja Rajesh Taneja added a comment - Can this be related to MDL-37598 ?
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Sorry guys, it seems MDL-37598 is not causing this issue.

              Grader report with unlimited grades show error, if grade entered is more then 1000, as maxgrade by default can't be more then 1000.

              [~davmon] If you want it to be more then 1000 then please set $CFG->gradeoverhundredprocentmax and it should work.

              I think it's safe to pass this.

              Show
              rajeshtaneja Rajesh Taneja added a comment - Sorry guys, it seems MDL-37598 is not causing this issue. Grader report with unlimited grades show error, if grade entered is more then 1000, as maxgrade by default can't be more then 1000. [~davmon] If you want it to be more then 1000 then please set $CFG->gradeoverhundredprocentmax and it should work. I think it's safe to pass this.
              Hide
              dmonllao David Monllaó added a comment -

              Tested in 23, 24 and master.

              With editing mode enabled and unlimitedgrades disabled a JS error is thrown, when I try to set up a higher value than the max. allowed I see a JS error in the console:

              Uncaught TypeError: Cannot call method 'set' of null module.js:678
              M.gradereport_grader.classes.ajax.submission_outcome module.js:678
              Y.Subscriber._notify simpleyui.js:10169
              Y.Subscriber.notify simpleyui.js:10198
              Y.CustomEvent._notify simpleyui.js:9884
              Y.CustomEvent._procSubs simpleyui.js:9990
              Y.CustomEvent.fireSimple simpleyui.js:9958
              Y.CustomEvent.fire simpleyui.js:9940
              ET.fire simpleyui.js:10996
              IO._evt simpleyui.js:17258
              IO.complete simpleyui.js:17294
              (anonymous function) simpleyui.js:17540
              

              In master I see the same problem:

              Uncaught TypeError: Cannot call method 'set' of null module.js:678
              M.gradereport_grader.classes.ajax.submission_outcome module.js:678
              Y.Subscriber._notify simpleyui.js:10169
              Y.Subscriber.notify simpleyui.js:10198
              Y.CustomEvent._notify simpleyui.js:9884
              Y.CustomEvent._procSubs simpleyui.js:9990
              Y.CustomEvent.fireSimple simpleyui.js:9958
              Y.CustomEvent.fire simpleyui.js:9940
              ET.fire simpleyui.js:10996
              IO._evt simpleyui.js:17258
              IO.complete simpleyui.js:17294
              (anonymous function) simpleyui.js:17540
              

              I'm passing it since I've reproduced the problem in master and it should be another issue, Andrew are you aware of it or related work is being done in another issue?

              Show
              dmonllao David Monllaó added a comment - Tested in 23, 24 and master. With editing mode enabled and unlimitedgrades disabled a JS error is thrown, when I try to set up a higher value than the max. allowed I see a JS error in the console: Uncaught TypeError: Cannot call method 'set' of null module.js:678 M.gradereport_grader.classes.ajax.submission_outcome module.js:678 Y.Subscriber._notify simpleyui.js:10169 Y.Subscriber.notify simpleyui.js:10198 Y.CustomEvent._notify simpleyui.js:9884 Y.CustomEvent._procSubs simpleyui.js:9990 Y.CustomEvent.fireSimple simpleyui.js:9958 Y.CustomEvent.fire simpleyui.js:9940 ET.fire simpleyui.js:10996 IO._evt simpleyui.js:17258 IO.complete simpleyui.js:17294 (anonymous function) simpleyui.js:17540 In master I see the same problem: Uncaught TypeError: Cannot call method 'set' of null module.js:678 M.gradereport_grader.classes.ajax.submission_outcome module.js:678 Y.Subscriber._notify simpleyui.js:10169 Y.Subscriber.notify simpleyui.js:10198 Y.CustomEvent._notify simpleyui.js:9884 Y.CustomEvent._procSubs simpleyui.js:9990 Y.CustomEvent.fireSimple simpleyui.js:9958 Y.CustomEvent.fire simpleyui.js:9940 ET.fire simpleyui.js:10996 IO._evt simpleyui.js:17258 IO.complete simpleyui.js:17294 (anonymous function) simpleyui.js:17540 I'm passing it since I've reproduced the problem in master and it should be another issue, Andrew are you aware of it or related work is being done in another issue?
              Hide
              dmonllao David Monllaó added a comment -

              Thanks Rajesh, without the big numbers problem we only have the JS error

              Show
              dmonllao David Monllaó added a comment - Thanks Rajesh, without the big numbers problem we only have the JS error
              Hide
              rajeshtaneja Rajesh Taneja added a comment -

              Hello Andrew,

              Just wondering if we have any docs for gradeoverhundredprocentmax ?

              Not sure, if this should be added to config-dist.php, so people can use it.

              Show
              rajeshtaneja Rajesh Taneja added a comment - Hello Andrew, Just wondering if we have any docs for gradeoverhundredprocentmax ? Not sure, if this should be added to config-dist.php, so people can use it.
              Hide
              andyjdavis Andrew Davis added a comment -

              Hi. I actually haven't seen gradeoverhundredprocentmax before that I can recall By all means raise one or more MDLs and I'll get onto these problems and gaps in the documentation.

              Show
              andyjdavis Andrew Davis added a comment - Hi. I actually haven't seen gradeoverhundredprocentmax before that I can recall By all means raise one or more MDLs and I'll get onto these problems and gaps in the documentation.
              Hide
              damyon Damyon Wiese added a comment -

              Congratulations this fix has been added to Moodle!

              You may want to dedicate this issue to someone special on this Valentines day.

              Thanks!

              Show
              damyon Damyon Wiese added a comment - Congratulations this fix has been added to Moodle! You may want to dedicate this issue to someone special on this Valentines day. Thanks!

                People

                • Votes:
                  11 Vote for this issue
                  Watchers:
                  14 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    11/Mar/13