Moodle
  1. Moodle
  2. MDL-31405

Problem and Solution of Course Reset - Assignment Dates

    Details

    • Database:
      Any
    • Testing Instructions:
      Hide
      1. Create a course starting on 1/jan/2014
      2. Add one online assignment, one offline assignment, and three new assignment (assign) with "Allow submission from" 2/jan/2014
      3. Reset course with course start date as 2/jan/2014
      4. Make sure all all assignments have proper start date 3/jan/2014
      5. Rerun above test with assignment starting on 5/jan/2014 and reset course with course starting 10/jan/2014 and make sure dates for assignment is 13/jan/2014
      Show
      Create a course starting on 1/jan/2014 Add one online assignment, one offline assignment, and three new assignment (assign) with "Allow submission from" 2/jan/2014 Reset course with course start date as 2/jan/2014 Make sure all all assignments have proper start date 3/jan/2014 Rerun above test with assignment starting on 5/jan/2014 and reset course with course starting 10/jan/2014 and make sure dates for assignment is 13/jan/2014
    • Workaround:
      Hide

      Move 5 lines from reset_userdata to assignment_reset_userdata after its main loop is finished and will look like this (moodle 2.1.4):
      function assignment_reset_userdata($data) {
      global $CFG;

      $status = array();
      foreach (get_plugin_list('assignment') as $type=>$dir)

      { require_once("$dir/assignment.class.php"); $assignmentclass = "assignment_$type"; $ass = new $assignmentclass(); $status = array_merge($status, $ass->reset_userdata($data)); }

      /// moved code start
      /// updating dates - shift may be negative too
      if ($data->timeshift)

      { shift_course_mod_dates('assignment', array('timedue', 'timeavailable'), $data->timeshift, $data->courseid); $status[] = array('component'=>$componentstr, 'item'=>get_string('datechanged').': '.$typestr, 'error'=>false); }

      /// moved code end

      return $status;
      }

      Show
      Move 5 lines from reset_userdata to assignment_reset_userdata after its main loop is finished and will look like this (moodle 2.1.4): function assignment_reset_userdata($data) { global $CFG; $status = array(); foreach (get_plugin_list('assignment') as $type=>$dir) { require_once("$dir/assignment.class.php"); $assignmentclass = "assignment_$type"; $ass = new $assignmentclass(); $status = array_merge($status, $ass->reset_userdata($data)); } /// moved code start /// updating dates - shift may be negative too if ($data->timeshift) { shift_course_mod_dates('assignment', array('timedue', 'timeavailable'), $data->timeshift, $data->courseid); $status[] = array('component'=>$componentstr, 'item'=>get_string('datechanged').': '.$typestr, 'error'=>false); } /// moved code end return $status; }
    • Difficulty:
      Easy
    • Affected Branches:
      MOODLE_19_STABLE, MOODLE_20_STABLE, MOODLE_21_STABLE, MOODLE_22_STABLE, MOODLE_23_STABLE, MOODLE_24_STABLE, MOODLE_25_STABLE
    • Fixed Branches:
      MOODLE_24_STABLE, MOODLE_25_STABLE
    • Pull 2.4 Branch:
      wip-mdl-31405-m24
    • Pull 2.5 Branch:
      wip-mdl-31405-m25
    • Pull Master Branch:
      wip-mdl-31405-new
    • Rank:
      37927
    • Sprint:
      BACKEND Sprint 6

      Description

      Course reset does not work correctly if activity dates are to be updated and course contains more than one type of assignment. This is due to fact that function assignment/lib.php: assignment_reset_userdata contains a loop for all assignment types. This calls the function reset_userdata and repetitively calls moodlelib.php::shift_course_mod_data. The last one should be called only once for all assignments.

      1. lib.patch
        0.8 kB
        Miroslav Fikar
      2. locallib.patch
        0.8 kB
        Miroslav Fikar

        Activity

        Hide
        Miroslav Fikar added a comment -

        Time passes and no action here. Is there anybody at moodle.com who takes care of this issue?

        Show
        Miroslav Fikar added a comment - Time passes and no action here. Is there anybody at moodle.com who takes care of this issue?
        Hide
        Miroslav Fikar added a comment -

        bump!

        Show
        Miroslav Fikar added a comment - bump!
        Hide
        Damyon Wiese added a comment -

        Thanks for reporting this.

        I've confirmed that this bug still exists in 2.4 and the patch still makes sense.

        Show
        Damyon Wiese added a comment - Thanks for reporting this. I've confirmed that this bug still exists in 2.4 and the patch still makes sense.
        Hide
        Miroslav Fikar added a comment -

        Perfect!

        Show
        Miroslav Fikar added a comment - Perfect!
        Hide
        Chris Follin added a comment -

        I think this same problem is also affecting the new Assignment. If there is one Assignment in a course and the course is reset to start one month later, the assignment due date shifts one month. If I reset the course to start a year later, the due date shifts one year. However, if the course contains three Assignments and the course is reset to start one month later, the assignment due dates shift three months. Likewise, if it's reset to start a year later, the due dates shift three years.

        Show
        Chris Follin added a comment - I think this same problem is also affecting the new Assignment. If there is one Assignment in a course and the course is reset to start one month later, the assignment due date shifts one month. If I reset the course to start a year later, the due date shifts one year. However, if the course contains three Assignments and the course is reset to start one month later, the assignment due dates shift three months. Likewise, if it's reset to start a year later, the due dates shift three years.
        Hide
        Miroslav Fikar added a comment -

        I do not understand this. One year has almost passed and nothing happens. And the bug still sits there, across all Moodle versions. I have found the bug, explained why it happens and proposed a simple solution that has no side effects. And at every update of our Moodle installations, I have to take care when assignment/lib.php changes.

        Course reset is the fastest method to prepare a course for its new run. And it is unusable without the patch.

        Show
        Miroslav Fikar added a comment - I do not understand this. One year has almost passed and nothing happens. And the bug still sits there, across all Moodle versions. I have found the bug, explained why it happens and proposed a simple solution that has no side effects. And at every update of our Moodle installations, I have to take care when assignment/lib.php changes. Course reset is the fastest method to prepare a course for its new run. And it is unusable without the patch.
        Hide
        Mike Wilday added a comment - - edited

        Is this being worked on? Manually resetting every assignment in a course is so slow and tedious. It would seem like this would be a bigger priority.

        Show
        Mike Wilday added a comment - - edited Is this being worked on? Manually resetting every assignment in a course is so slow and tedious. It would seem like this would be a bigger priority.
        Hide
        Jayesh Anandani added a comment -

        The above mentioned workout doesn't works! There is to be an alternative.I worked on it but same thing happening in 2.4 again and again.Value of timeshift is creating problem else code seems to be fine!

        Show
        Jayesh Anandani added a comment - The above mentioned workout doesn't works! There is to be an alternative.I worked on it but same thing happening in 2.4 again and again.Value of timeshift is creating problem else code seems to be fine!
        Hide
        Miroslav Fikar added a comment -

        I have tested the workaround in the actual 2.4.3+ today. It still works and it is as follows:
        Move lines from locallib.php (public function reset_userdata) to lib.php (function assign_reset_userdata).

        — locallib.old.php 2013-03-31 21:18:14.250981153 +0200
        +++ locallib.php 2013-03-31 21:43:46.883004151 +0200
        @@ -618,16 +618,6 @@
        assign_reset_gradebook($data->courseid);
        }
        }

        • // Updating dates - shift may be negative too.
        • if ($data->timeshift) { - shift_course_mod_dates('assign', - array('duedate', 'allowsubmissionsfromdate','cutoffdate'), - $data->timeshift, - $data->courseid); - $status[] = array('component'=>$componentstr, - 'item'=>get_string('datechanged'), - 'error'=>false); - }

        return $status;
        }

        Note, that one variable from locallib.php has to be copied as well.
        It is this added line:
        + $componentstr = get_string('modulenameplural', 'assign');

        — lib.old.php 2013-03-31 21:18:10.146981093 +0200
        +++ lib.php 2013-03-31 21:45:01.427005271 +0200
        @@ -77,6 +77,19 @@
        $status = array_merge($status, $assignment->reset_userdata($data));
        }
        }
        + // Updating dates - shift may be negative too.
        + $componentstr = get_string('modulenameplural', 'assign');
        +
        + if ($data->timeshift)

        { + shift_course_mod_dates('assign', + array('duedate', 'allowsubmissionsfromdate','cutoffdate'), + $data->timeshift, + $data->courseid); + $status[] = array('component'=>$componentstr, + 'item'=>get_string('datechanged'), + 'error'=>false); + }

        +
        return $status;
        }

        Show
        Miroslav Fikar added a comment - I have tested the workaround in the actual 2.4.3+ today. It still works and it is as follows: Move lines from locallib.php (public function reset_userdata) to lib.php (function assign_reset_userdata). — locallib.old.php 2013-03-31 21:18:14.250981153 +0200 +++ locallib.php 2013-03-31 21:43:46.883004151 +0200 @@ -618,16 +618,6 @@ assign_reset_gradebook($data->courseid); } } // Updating dates - shift may be negative too. if ($data->timeshift) { - shift_course_mod_dates('assign', - array('duedate', 'allowsubmissionsfromdate','cutoffdate'), - $data->timeshift, - $data->courseid); - $status[] = array('component'=>$componentstr, - 'item'=>get_string('datechanged'), - 'error'=>false); - } return $status; } Note, that one variable from locallib.php has to be copied as well. It is this added line: + $componentstr = get_string('modulenameplural', 'assign'); — lib.old.php 2013-03-31 21:18:10.146981093 +0200 +++ lib.php 2013-03-31 21:45:01.427005271 +0200 @@ -77,6 +77,19 @@ $status = array_merge($status, $assignment->reset_userdata($data)); } } + // Updating dates - shift may be negative too. + $componentstr = get_string('modulenameplural', 'assign'); + + if ($data->timeshift) { + shift_course_mod_dates('assign', + array('duedate', 'allowsubmissionsfromdate','cutoffdate'), + $data->timeshift, + $data->courseid); + $status[] = array('component'=>$componentstr, + 'item'=>get_string('datechanged'), + 'error'=>false); + } + return $status; }
        Hide
        Miroslav Fikar added a comment -

        lib.patch

        Show
        Miroslav Fikar added a comment - lib.patch
        Hide
        Miroslav Fikar added a comment -

        locallib.patch

        Show
        Miroslav Fikar added a comment - locallib.patch
        Hide
        Jayesh Anandani added a comment -

        Is the issue resolved?

        Show
        Jayesh Anandani added a comment - Is the issue resolved?
        Hide
        Jayesh Anandani added a comment -

        I modified moodlelib.php file.The allow date is working fine for me, i am stuck at due date.Due date is increased by twice and looking for an alternative to it!

        Show
        Jayesh Anandani added a comment - I modified moodlelib.php file.The allow date is working fine for me, i am stuck at due date.Due date is increased by twice and looking for an alternative to it!
        Hide
        Jayesh Anandani added a comment -

        Is it done?

        Show
        Jayesh Anandani added a comment - Is it done?
        Hide
        Damyon Wiese added a comment -

        Just noting that this issue is important - but there quite a few high priority issues that need looking at before I get to this one. It will probably be about 1-2 weeks.

        Thanks in advance for the report and solution.

        Show
        Damyon Wiese added a comment - Just noting that this issue is important - but there quite a few high priority issues that need looking at before I get to this one. It will probably be about 1-2 weeks. Thanks in advance for the report and solution.
        Hide
        Jayesh Anandani added a comment -

        yeah fine

        Show
        Jayesh Anandani added a comment - yeah fine
        Hide
        Michael de Raadt added a comment -

        Thanks for your input into this issue, Miroslav and Jayesh.

        I've noted a quirk that was allowing Jayesh to be able to assign issues to himself, when this normally would not be the case.

        I've assigned this issue back to Damyon to continue working on.

        Show
        Michael de Raadt added a comment - Thanks for your input into this issue, Miroslav and Jayesh. I've noted a quirk that was allowing Jayesh to be able to assign issues to himself, when this normally would not be the case. I've assigned this issue back to Damyon to continue working on.
        Hide
        Michael de Raadt added a comment -

        Hi, Damyon.

        This was left in a state of "Waiting for Peer Review". It would be good if you could finish off the work that Jayesh started and possibly credit him with the fix in Git.

        Show
        Michael de Raadt added a comment - Hi, Damyon. This was left in a state of "Waiting for Peer Review". It would be good if you could finish off the work that Jayesh started and possibly credit him with the fix in Git.
        Hide
        Kris Stokking added a comment -

        I'm escalating this to Critical. The longer we wait, the more courses that will get created for upcoming semesters with the incorrect dates, and there is no way to cleanup the affected data.

        Show
        Kris Stokking added a comment - I'm escalating this to Critical. The longer we wait, the more courses that will get created for upcoming semesters with the incorrect dates, and there is no way to cleanup the affected data.
        Hide
        Rajesh Taneja added a comment -

        Thanks for the patch, it looks good.

        It will be nice if you can please apply similar patch for old Assignment plugin as well.

        Also, fix few minor indentation issues in your patch

        1. https://github.com/jacks92/moodle/compare/master...MDL-31405#L0R86 spaces before comment
        2. https://github.com/jacks92/moodle/compare/master...MDL-31405#L0R91 - Space before cutoffdate
        3. https://github.com/jacks92/moodle/compare/master...MDL-31405#L0R94 - Space before and after =>
        Show
        Rajesh Taneja added a comment - Thanks for the patch, it looks good. It will be nice if you can please apply similar patch for old Assignment plugin as well. Also, fix few minor indentation issues in your patch https://github.com/jacks92/moodle/compare/master...MDL-31405#L0R86 spaces before comment https://github.com/jacks92/moodle/compare/master...MDL-31405#L0R91 - Space before cutoffdate https://github.com/jacks92/moodle/compare/master...MDL-31405#L0R94 - Space before and after =>
        Hide
        Miroslav Fikar added a comment -

        I have added patches for Moodle 1.9, 2.2, 2.3, 2.4, 2.5 - latest versions downloaded today from Moodle.org. In addition to my previous patches, the changes for versions 2.3-2.x include both assign and assignment (if somebody is still using old assignment). Also, $componentstring has to be added.

        Note, I have not tested it, I have not access to all these versions.

        Show
        Miroslav Fikar added a comment - I have added patches for Moodle 1.9, 2.2, 2.3, 2.4, 2.5 - latest versions downloaded today from Moodle.org. In addition to my previous patches, the changes for versions 2.3-2.x include both assign and assignment (if somebody is still using old assignment). Also, $componentstring has to be added. Note, I have not tested it, I have not access to all these versions.
        Hide
        Rajesh Taneja added a comment -

        Thanks for providing the patches, Miroslav,

        Can you please create github branches for the same.
        Please refer http://docs.moodle.org/dev/Git_for_developers for more details.

        Show
        Rajesh Taneja added a comment - Thanks for providing the patches, Miroslav, Can you please create github branches for the same. Please refer http://docs.moodle.org/dev/Git_for_developers for more details.
        Hide
        Miroslav Fikar added a comment -

        Rajesh,
        I am sorry, I do not have time/resources for that.

        Show
        Miroslav Fikar added a comment - Rajesh, I am sorry, I do not have time/resources for that.
        Hide
        Rajesh Taneja added a comment -

        No problem Miroslav,

        Will create branches.

        Show
        Rajesh Taneja added a comment - No problem Miroslav, Will create branches.
        Hide
        Mike Wilday added a comment -

        Could we get an update on this issue? We rely heavily on course resets in certain situations and would love to see this resolved. Thanks!

        Show
        Mike Wilday added a comment - Could we get an update on this issue? We rely heavily on course resets in certain situations and would love to see this resolved. Thanks!
        Hide
        Rajesh Taneja added a comment -

        I have created a master branch and after review will backport this.

        original branch:
        https://github.com/jacks92/moodle
        https://github.com/jacks92/moodle/compare/master...MDL-31405

        Show
        Rajesh Taneja added a comment - I have created a master branch and after review will backport this. original branch: https://github.com/jacks92/moodle https://github.com/jacks92/moodle/compare/master...MDL-31405
        Hide
        Petr Škoda added a comment -

        hi, following code has incorrect whitespace and it should use string_manager to find out if string exists instead of the deprecated [[ test. The rest looks ok.

        if($typestr === '[[type'.$this->type.']]'){
        
        Show
        Petr Škoda added a comment - hi, following code has incorrect whitespace and it should use string_manager to find out if string exists instead of the deprecated [[ test. The rest looks ok. if ($typestr === '[[type'.$ this ->type.']]'){
        Hide
        Rajesh Taneja added a comment -

        grrr.. copy/paste.
        Thanks Petr, fixed it. Pushing for integration.

        Show
        Rajesh Taneja added a comment - grrr.. copy/paste. Thanks Petr, fixed it. Pushing for integration.
        Hide
        Damyon Wiese added a comment -

        Looks fine. +1 from me.

        Show
        Damyon Wiese added a comment - Looks fine. +1 from me.
        Hide
        Rajesh Taneja added a comment -

        Thanks Petr and Damyon,

        Pushing it for integration.

        Show
        Rajesh Taneja added a comment - Thanks Petr and Damyon, Pushing it for integration.
        Hide
        Eloy Lafuente (stronk7) 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
        Eloy Lafuente (stronk7) 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
        Eloy Lafuente (stronk7) added a comment -

        Hi, I've to reopen this, sorry:

        1) Can you please, amend the testing instructions to both include the assign and assignment activities. And also to state clearly which is the expected (CORRECT) result.

        2) This is causing unit tests to fail (test_reset_userdata). I've not looked who is the responsible (the fix leading to borked results or the test expecting borked results, now fixed) but for sure it needs review and… why not, complete a bit more the cases if needed.

        Ciao

        Show
        Eloy Lafuente (stronk7) added a comment - Hi, I've to reopen this, sorry: 1) Can you please, amend the testing instructions to both include the assign and assignment activities. And also to state clearly which is the expected (CORRECT) result. 2) This is causing unit tests to fail (test_reset_userdata). I've not looked who is the responsible (the fix leading to borked results or the test expecting borked results, now fixed) but for sure it needs review and… why not, complete a bit more the cases if needed. Ciao
        Hide
        CiBoT added a comment -

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

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

        Thanks for pointing that Eloy.

        Looking at the patch again, it seems we should not move reset out of this function.
        Putting up a different patch to solve this problem. I have added unit-test for assign, but not for assignment 2.2, not sure if it's worth creating new unit-test for old assignment as there is none at the moment.

        Will backport this after review.

        Show
        Rajesh Taneja added a comment - Thanks for pointing that Eloy. Looking at the patch again, it seems we should not move reset out of this function. Putting up a different patch to solve this problem. I have added unit-test for assign, but not for assignment 2.2, not sure if it's worth creating new unit-test for old assignment as there is none at the moment. Will backport this after review.
        Hide
        Damyon Wiese added a comment -

        Looks good to me - but the change to shift_course_mod_dates needs documenting in upgrade.txt.

        I like this solution because $assign->reset_userdata operates only on a single instance of mod_assign at a time which matches the rest of the functions in the class. The other alternative would be do some refactoring and add some separate manager class in mod_assign that can e.g do bulk operations and other static type functions on multiple assignments at once.

        Show
        Damyon Wiese added a comment - Looks good to me - but the change to shift_course_mod_dates needs documenting in upgrade.txt. I like this solution because $assign->reset_userdata operates only on a single instance of mod_assign at a time which matches the rest of the functions in the class. The other alternative would be do some refactoring and add some separate manager class in mod_assign that can e.g do bulk operations and other static type functions on multiple assignments at once.
        Hide
        Rajesh Taneja added a comment -

        Thanks Damyon,

        As discussed, alternative way is not BC. So probably an enhancement and will open another issue once this gets in.

        Updated upgrade.txt and using simple solution for old assignment as that makes more sense.

        Sending it back for another round of review.

        Show
        Rajesh Taneja added a comment - Thanks Damyon, As discussed, alternative way is not BC. So probably an enhancement and will open another issue once this gets in. Updated upgrade.txt and using simple solution for old assignment as that makes more sense. Sending it back for another round of review.
        Hide
        Damyon Wiese added a comment -

        Thanks Raj, the upgrade text looks fine - no other complaints from me.

        +1 for integration.

        Show
        Damyon Wiese added a comment - Thanks Raj, the upgrade text looks fine - no other complaints from me. +1 for integration.
        Hide
        Rajesh Taneja added a comment -

        Thanks Damyon,

        Pushing for integration...

        Show
        Rajesh Taneja added a comment - Thanks Damyon, Pushing for integration...
        Hide
        Dan Poltawski added a comment -

        Hi Raj,

        I'm not too keen on this solution for the stables, its an API change and we don't allow really allow them on the stables, and again in this scenario it is justified:

        • Non-core module sees they can add the module specific argument to shift_course_mod_dates()
        • Updates their 2.5/2.4 version and tests it on current stable versions
        • Breaks on <2.5.3 (and 2.4)
        Show
        Dan Poltawski added a comment - Hi Raj, I'm not too keen on this solution for the stables, its an API change and we don't allow really allow them on the stables, and again in this scenario it is justified: Non-core module sees they can add the module specific argument to shift_course_mod_dates() Updates their 2.5/2.4 version and tests it on current stable versions Breaks on <2.5.3 (and 2.4)
        Hide
        CiBoT added a comment -

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

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

        Thanks Dan,

        I am putting old patch for stable, hope this is fine.

        Show
        Rajesh Taneja added a comment - Thanks Dan, I am putting old patch for stable, hope this is fine.
        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 -

        Integrated to master, 25 and 24.

        As I mentioned to Raj - I moved the upgrade.txt notice to mod/upgrade.txt, because it seems the one more relevant for users of the api.

        I also added a commit on 2.5/2.4 to avoid an unnecessary get_string call (I couldn't ignore it).

        Show
        Dan Poltawski added a comment - Integrated to master, 25 and 24. As I mentioned to Raj - I moved the upgrade.txt notice to mod/upgrade.txt, because it seems the one more relevant for users of the api. I also added a commit on 2.5/2.4 to avoid an unnecessary get_string call (I couldn't ignore it).
        Hide
        David Monllaó added a comment -

        sorry, just start in 2.4 and I see the following error when I reset the course after selecting the course new start date

        Fatal error: Using $this when not in object context in /home/davidm/Desktop/moodlecode/INTEGRATION/MOODLE_24_STABLE/mod/assignment/lib.php on line 3886
        
        Show
        David Monllaó added a comment - sorry, just start in 2.4 and I see the following error when I reset the course after selecting the course new start date Fatal error: Using $ this when not in object context in /home/davidm/Desktop/moodlecode/INTEGRATION/MOODLE_24_STABLE/mod/assignment/lib.php on line 3886
        Hide
        Rajesh Taneja added a comment -

        Aha.. Sorry about that...
        I have added another commit to fix this. Typestr in old assignment should not be added in status, as time shift happens once for all assignment instances.
        Seems, I missed something in my commit previously.

        Dan - can you please pick the last commit...

        Show
        Rajesh Taneja added a comment - Aha.. Sorry about that... I have added another commit to fix this. Typestr in old assignment should not be added in status, as time shift happens once for all assignment instances. Seems, I missed something in my commit previously. Dan - can you please pick the last commit...
        Hide
        Dan Poltawski added a comment -

        Thanks Raj - seemed you were missing it on 2.4, so I cherry-picked.

        Show
        Dan Poltawski added a comment - Thanks Raj - seemed you were missing it on 2.4, so I cherry-picked.
        Hide
        Rajesh Taneja added a comment -

        Thanks Dan,

        Seems something wrong with my scripts... Will make sure this doesn't happen again...

        Show
        Rajesh Taneja added a comment - Thanks Dan, Seems something wrong with my scripts... Will make sure this doesn't happen again...
        Hide
        David Monllaó added a comment -

        It passes. Tested in 24, 25 and master

        Show
        David Monllaó added a comment - It passes. Tested in 24, 25 and master
        Hide
        Eloy Lafuente (stronk7) added a comment -

        "Aequam memento rebus in arduis servare mentem"

        Many thanks for your hard work, this is now part of "Moodle, the LMS". Closing!

        Ciao

        Show
        Eloy Lafuente (stronk7) added a comment - "Aequam memento rebus in arduis servare mentem" Many thanks for your hard work, this is now part of "Moodle, the LMS". Closing! Ciao

          People

          • Votes:
            6 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Agile