Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.4.1
    • Fix Version/s: 2.5
    • Component/s: Course
    • Labels:
    • Testing Instructions:
      Hide

      Basically, test that nothing is broken

      Login as admin, teacher, student, manager, user with manager or course creator role only in one category.

      Please note - if there are minor bugs on /course/manage.php please don't fail the test rather create a new issue. If there is oddness in behaviour (especially redirecting not where you were after action) make sure this is now worse than in master. There is a big issue MDL-31830 for making the management friendlier.

      The most important is to test that /course/index.php and /course/category.php work as expected. But again, this issue is not fixing the existing bugs.

      1. Start with a website without courses
      2. On the front page ($CFG->frontpageloggedin) add all types of course listings
      3. Browse frontpage and all courses
      4. Create courses in "Miscellaneous" category
      5. Browse frontpage and all courses
      6. Set $CFG->coursesperpage to something small
      7. Browse paginated courses
      8. Create more categories with subcategories and courses in them, mark some as hidden
      9. Navigate between categories
      10. Jump to "manage category" (try different types of users).
      11. Click buttons for different types of actions, make sure they do (or lead to) where expected

      Retest issues MDL-36554, MDL-35818, MDL-32526, MDL-34435 because their changes were integrated during merge

      Show
      Basically, test that nothing is broken Login as admin, teacher, student, manager, user with manager or course creator role only in one category. Please note - if there are minor bugs on /course/manage.php please don't fail the test rather create a new issue. If there is oddness in behaviour (especially redirecting not where you were after action) make sure this is now worse than in master. There is a big issue MDL-31830 for making the management friendlier. The most important is to test that /course/index.php and /course/category.php work as expected. But again, this issue is not fixing the existing bugs. Start with a website without courses On the front page ($CFG->frontpageloggedin) add all types of course listings Browse frontpage and all courses Create courses in "Miscellaneous" category Browse frontpage and all courses Set $CFG->coursesperpage to something small Browse paginated courses Create more categories with subcategories and courses in them, mark some as hidden Navigate between categories Jump to "manage category" (try different types of users). Click buttons for different types of actions, make sure they do (or lead to) where expected Retest issues MDL-36554 , MDL-35818 , MDL-32526 , MDL-34435 because their changes were integrated during merge
    • Affected Branches:
      MOODLE_24_STABLE
    • Fixed Branches:
      MOODLE_25_STABLE
    • Pull Master Branch:
      wip-MDL-37572-m25
    • Rank:
      47226

      Description

      at the moment /course/index.php and /course/category.php have view and edit modes which makes it confusing

      Separate page /course/manage.php to be created that allows edit categories.

      /course/index.php and /course/category.php will remain only for viewing the content

      (Next step will be to deprecate /course/category.php and use only /course/index.php)

        Issue Links

          Activity

          Hide
          Marina Glancy added a comment -

          This issue is rebased over MDL-32526 for easier integration

          Show
          Marina Glancy added a comment - This issue is rebased over MDL-32526 for easier integration
          Hide
          Marina Glancy added a comment -

          Sam do you want to review or comment before it goes to integration?

          Show
          Marina Glancy added a comment - Sam do you want to review or comment before it goes to 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 Marina,

          some comments about the patch:

          1) It looks really strange how 2 different sesskey mechanisms are being used along the same script. You are using both confirm_sesskey() (for category actions) and $sesskeyprovided (for course actions). The same style should be used IMO, any of them, np here.

          2) When categories are being moved via explicit action, it's checked that both source and target categories have the 'moodle/category:manage' permission. But when one category is being deleted and all its contents are being moved to $data->newparent... we don't verify that at all.

          3) The way some information is printed out looks somehow old, interleaving "manual" output (echo) with call to functions (like "print_category_edit"). At the same time renderers are used in other places. Too much mix IMO.

          4) Also, the function commented in 3) print_category_edit(), cannot we move it to another place? We should not be mixing global-scope code and functions that way in the same php file.

          5) Also, not directly problem with this issue, the current course and category API (if can be named that way), is really a horrible mix of alternatives. Sometimes it's category_verb, others is course_category_verb, and others is verb_category... Not sure if to re-organize them (completely or partially) is part of your tasks for 2.5, but for sure, any new function should include the "correct" pattern (note I've not idea about which one it is, lol).

          6) Also, although not critical... I've run your patch against the prechecker and I've got a really high number of warnings and errors (surely when copying stuff from the old scripts). I'd recommend a review to, at least, fix the errors.

          Otherwise it looks great, and I like the idea of having that unique manage script to handle everything. But I think it needs a bit more of love before landing, so I'm reopening this.

          Thanks and ciao

          Show
          Eloy Lafuente (stronk7) added a comment - Hi Marina, some comments about the patch: 1) It looks really strange how 2 different sesskey mechanisms are being used along the same script. You are using both confirm_sesskey() (for category actions) and $sesskeyprovided (for course actions). The same style should be used IMO, any of them, np here. 2) When categories are being moved via explicit action, it's checked that both source and target categories have the 'moodle/category:manage' permission. But when one category is being deleted and all its contents are being moved to $data->newparent... we don't verify that at all. 3) The way some information is printed out looks somehow old, interleaving "manual" output (echo) with call to functions (like "print_category_edit"). At the same time renderers are used in other places. Too much mix IMO. 4) Also, the function commented in 3) print_category_edit(), cannot we move it to another place? We should not be mixing global-scope code and functions that way in the same php file. 5) Also, not directly problem with this issue, the current course and category API (if can be named that way), is really a horrible mix of alternatives. Sometimes it's category_verb, others is course_category_verb, and others is verb_category... Not sure if to re-organize them (completely or partially) is part of your tasks for 2.5, but for sure, any new function should include the "correct" pattern (note I've not idea about which one it is, lol). 6) Also, although not critical... I've run your patch against the prechecker and I've got a really high number of warnings and errors (surely when copying stuff from the old scripts). I'd recommend a review to, at least, fix the errors. Otherwise it looks great, and I like the idea of having that unique manage script to handle everything. But I think it needs a bit more of love before landing, so I'm reopening this. Thanks and 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
          Eloy Lafuente (stronk7) added a comment -
          Show
          Eloy Lafuente (stronk7) added a comment - Adding link to smurf.xml results from the CI server: http://integration.moodle.org/job/Precheck%20remote%20branch/13/artifact/work/smurf.xml
          Hide
          Marina Glancy added a comment -

          Hi Eloy,
          new file course/manage.php is copy-paste of editing code form course/index.php and course/category.php. It is supposed to be completely refactored by Sam in 2.5 There are a lot of oddity there and code problems. Not sure it makes sense to clean it up. Sam, comment please on that

          At the same time I hope that I have not changed any functionality or capability checks comparing to 2.4. If I have, I'll correct it

          Show
          Marina Glancy added a comment - Hi Eloy, new file course/manage.php is copy-paste of editing code form course/index.php and course/category.php. It is supposed to be completely refactored by Sam in 2.5 There are a lot of oddity there and code problems. Not sure it makes sense to clean it up. Sam, comment please on that At the same time I hope that I have not changed any functionality or capability checks comparing to 2.4. If I have, I'll correct it
          Hide
          Sam Hemelryk added a comment -

          Just noting that this separation is required as Marina and myself are working in the same area and this change ensure we don't conflict horribly.
          I'll be reworking the course + category management pages, as part of my work this area will be completely tidied up.
          In the next day or two I'll produce a branch based upon Marina's which started the clean up process and hopefully will allow this change to land.

          Many thanks
          Sam

          Show
          Sam Hemelryk added a comment - Just noting that this separation is required as Marina and myself are working in the same area and this change ensure we don't conflict horribly. I'll be reworking the course + category management pages, as part of my work this area will be completely tidied up. In the next day or two I'll produce a branch based upon Marina's which started the clean up process and hopefully will allow this change to land. Many thanks Sam
          Hide
          Sam Hemelryk added a comment -

          Hi guys,

          I've produced a branch based upon Marina's that cleans up the manage.php script.
          As part of my clean up I have better separated the logic and the display. Everything is still in that one script but please keep in mind as part of my work on the course and category management pages I will be stripping the logic out to classes designed to manage courses and categories and that I will be moving the display into a renderer.
          Also important is that I have not changed any logic or display, simply tidied it up and separated it where possible so that my future work will be a little easier.

          In response to those points that you raised Eloy (purely in regards to manage.php):

          1. I've cleaned that up. It uses confirm sesskey consistently as required.
          2. As this issue is not about changing logic I think we're best to open a new bug to deal with that. There is also ongoing work in that area. If this gets in (fingers crossed) I'll talk to Adrian about his work there and open a new bug if required.
          3. As part of future work all display will be converted to renderers. I don't want to do this presently as the display I have constructed is entirely different, anything added would be removed in the next couple of months anyway.
          4. It will be removed in future work for sure.
          5. I'll be addressing the management/admin aspects of the API in my work.
          6. Fixed up everything I could in the manage.php script. There are a couple of lines that exceed the recommended 132, but not by much.

          Perhaps to help this land should my future work not get done for any reason I am happy to commit to addressing conversion to renderers and moving of the print_category_edit function. Both are easy tasks just tasks I don't want to do as any changes will be wiped by my future work.

          Many thanks
          Sam

          Show
          Sam Hemelryk added a comment - Hi guys, I've produced a branch based upon Marina's that cleans up the manage.php script. As part of my clean up I have better separated the logic and the display. Everything is still in that one script but please keep in mind as part of my work on the course and category management pages I will be stripping the logic out to classes designed to manage courses and categories and that I will be moving the display into a renderer. Also important is that I have not changed any logic or display, simply tidied it up and separated it where possible so that my future work will be a little easier. In response to those points that you raised Eloy (purely in regards to manage.php): I've cleaned that up. It uses confirm sesskey consistently as required. As this issue is not about changing logic I think we're best to open a new bug to deal with that. There is also ongoing work in that area. If this gets in (fingers crossed) I'll talk to Adrian about his work there and open a new bug if required. As part of future work all display will be converted to renderers. I don't want to do this presently as the display I have constructed is entirely different, anything added would be removed in the next couple of months anyway. It will be removed in future work for sure. I'll be addressing the management/admin aspects of the API in my work. Fixed up everything I could in the manage.php script. There are a couple of lines that exceed the recommended 132, but not by much. Perhaps to help this land should my future work not get done for any reason I am happy to commit to addressing conversion to renderers and moving of the print_category_edit function. Both are easy tasks just tasks I don't want to do as any changes will be wiped by my future work. Many thanks Sam
          Hide
          Dan Poltawski added a comment -

          Integrated to master, thanks Sam/Marina!

          Show
          Dan Poltawski added a comment - Integrated to master, thanks Sam/Marina!
          Hide
          Damyon Wiese added a comment -

          Just noticed this change causes:

          Fatal error: Call to undefined function has_all_capability() in /home/damyonw/Documents/Moodle/instances/im/moodle/course/manage.php on line 508

          in "Site Administration > Courses > Add/Edit courses page".

          (should be capabilities)

          Show
          Damyon Wiese added a comment - Just noticed this change causes: Fatal error: Call to undefined function has_all_capability() in /home/damyonw/Documents/Moodle/instances/im/moodle/course/manage.php on line 508 in "Site Administration > Courses > Add/Edit courses page". (should be capabilities)
          Hide
          Rajesh Taneja added a comment - - edited

          Thanks for fixing this Sam.

          As mentioned by Damyon, I can also see fatal error:

          Fatal error: Call to undefined function has_all_capability() in /var/www/temptest/course/manage.php on line 508 Call Stack: 0.0014 1146536 1. {main}() /var/www/temptest/course/manage.php:0 
          

          There are few things which probably can be handled in other issue:

          1. course/index.php
            1. Click on Manage courses, take user to course/manage.php. But there is no link to go back. (except from navigation)
            2. It show "Add a sub-category", where as it should be "Add a category" button. Probably will be nice to have them side-by-side as in master
          2. Frontpage with hidden category and visible sub-category
            1. As admin visible sub-category is displayed as hidden under course section but visible in category section. (See attached pic). This is existing issue in master
            2. As guest/teacher/student courses in visible sub-category is shown in "Available courses" but category and course section doesn't display this. This is also existing issue in master

          Let me know if you want this to be passed?

          Show
          Rajesh Taneja added a comment - - edited Thanks for fixing this Sam. As mentioned by Damyon, I can also see fatal error: Fatal error: Call to undefined function has_all_capability() in /var/www/temptest/course/manage.php on line 508 Call Stack: 0.0014 1146536 1. {main}() /var/www/temptest/course/manage.php:0 There are few things which probably can be handled in other issue: course/index.php Click on Manage courses , take user to course/manage.php. But there is no link to go back. (except from navigation) It show "Add a sub-category", where as it should be "Add a category" button. Probably will be nice to have them side-by-side as in master Frontpage with hidden category and visible sub-category As admin visible sub-category is displayed as hidden under course section but visible in category section. (See attached pic). This is existing issue in master As guest/teacher/student courses in visible sub-category is shown in "Available courses" but category and course section doesn't display this. This is also existing issue in master Let me know if you want this to be passed?
          Hide
          Dan Poltawski added a comment -

          I think, this is a candidate for failure:

          Fatal error: Call to undefined function has_all_capability() in /home/damyonw/Documents/Moodle/instances/im/moodle/course/manage.php on line 508

          Show
          Dan Poltawski added a comment - I think, this is a candidate for failure: Fatal error: Call to undefined function has_all_capability() in /home/damyonw/Documents/Moodle/instances/im/moodle/course/manage.php on line 508
          Hide
          Rajesh Taneja added a comment -

          Sorry Sam,

          I am failing this as it resulted in fatal error.

          Show
          Rajesh Taneja added a comment - Sorry Sam, I am failing this as it resulted in fatal error.
          Hide
          Marina Glancy added a comment -

          mistyped function name is definitely a reason for failing.
          But other Raj's comments imho not. First, this issue DOES NOT fix existing bugs, I said that in testing instructions. Besides, after my issue MDL-37009 all course listings will go through the same renderer and it will be consistent.
          The label on the button also is so minor comparing to global following redesign of the manage page.

          Show
          Marina Glancy added a comment - mistyped function name is definitely a reason for failing. But other Raj's comments imho not. First, this issue DOES NOT fix existing bugs, I said that in testing instructions. Besides, after my issue MDL-37009 all course listings will go through the same renderer and it will be consistent. The label on the button also is so minor comparing to global following redesign of the manage page.
          Hide
          Dan Poltawski added a comment -

          I've pushed a fix for the fatal error. Can we decide on new issues/problems or fix

          Show
          Dan Poltawski added a comment - I've pushed a fix for the fatal error. Can we decide on new issues/problems or fix
          Hide
          Rajesh Taneja added a comment -

          Thanks for fixing the above problem Dan.
          That issue is resolved, but unfortunately it's throwing error, while moving course from one category to another.

          Cannot find category record from database by ID - {$a}
          Debug info:
          Error code: cannotfindcategory
          Stack trace:
          
              line 467 of /lib/setuplib.php: moodle_exception thrown
              line 225 of /course/manage.php: call to print_error()
          
          Output buffer: Notice: Trying to get property of non-object in /var/www/im/course/manage.php on line 224 Call Stack: 0.1236 1152024 1. {main}() /var/www/im/course/manage.php:0 Notice: Trying to get property of non-object in /var/www/im/course/manage.php on line 225 Call Stack: 0.1236 1152024 1. {main}() /var/www/im/course/manage.php:0 
          

          Steps to reproduce:

          1. Log in as admin
          2. Go to category with some courses (/course/manage.php?id= {CAT_ID}
          3. Select courses and try move them to some other category.
          Show
          Rajesh Taneja added a comment - Thanks for fixing the above problem Dan. That issue is resolved, but unfortunately it's throwing error, while moving course from one category to another. Cannot find category record from database by ID - {$a} Debug info: Error code: cannotfindcategory Stack trace: line 467 of /lib/setuplib.php: moodle_exception thrown line 225 of /course/manage.php: call to print_error() Output buffer: Notice: Trying to get property of non-object in /var/www/im/course/manage.php on line 224 Call Stack: 0.1236 1152024 1. {main}() /var/www/im/course/manage.php:0 Notice: Trying to get property of non-object in /var/www/im/course/manage.php on line 225 Call Stack: 0.1236 1152024 1. {main}() /var/www/im/course/manage.php:0 Steps to reproduce: Log in as admin Go to category with some courses (/course/manage.php?id= {CAT_ID} Select courses and try move them to some other category.
          Hide
          Sam Hemelryk added a comment -

          Thanks Raj,

          Not sure why but I wasn't getting emails from this issue.
          Marina brought it to my attention this morning.
          A fix has been integrated now for the moving course issue (required parenthesis).

          As for the other issues noted above:
          1.1. The back button. Best to open a new issue for that I think. It's a minor issue and I'm hoping to replace that whole interface shortly. The navigation is something I will work on there.
          1.2. Button says add sub category rather than add category. Lets open another issue for this I think. As above hopefully I will replace that interface shortly.
          2. As both of these are existing issues I think it is best we search and see whether there are already tracker issues for them. If not lets create them.
          Between Marina and myself there is going to be a lot of focus on these pages so no doubt we'll be able to tidy it up.

          Putting this back up for testing.

          Many thanks
          Sam

          Show
          Sam Hemelryk added a comment - Thanks Raj, Not sure why but I wasn't getting emails from this issue. Marina brought it to my attention this morning. A fix has been integrated now for the moving course issue (required parenthesis). As for the other issues noted above: 1.1. The back button. Best to open a new issue for that I think. It's a minor issue and I'm hoping to replace that whole interface shortly. The navigation is something I will work on there. 1.2. Button says add sub category rather than add category. Lets open another issue for this I think. As above hopefully I will replace that interface shortly. 2. As both of these are existing issues I think it is best we search and see whether there are already tracker issues for them. If not lets create them. Between Marina and myself there is going to be a lot of focus on these pages so no doubt we'll be able to tidy it up. Putting this back up for testing. Many thanks Sam
          Hide
          Rajesh Taneja added a comment -

          Thanks for the fix Sam,

          I am getting following notice while moving category up/down

          Notice: Undefined variable: movecategory in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Notice: Trying to get property of non-object in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Notice: Undefined variable: movecategory in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Notice: Trying to get property of non-object in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 
          

          Will keep testing, in the mean while please fix it if possible.

          Show
          Rajesh Taneja added a comment - Thanks for the fix Sam, I am getting following notice while moving category up/down Notice: Undefined variable: movecategory in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Notice: Trying to get property of non-object in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Notice: Undefined variable: movecategory in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Notice: Trying to get property of non-object in /var/www/temptest/course/manage.php on line 177 Call Stack: 0.0021 1146752 1. {main}() /var/www/temptest/course/manage.php:0 Will keep testing, in the mean while please fix it if possible.
          Hide
          Rajesh Taneja added a comment -

          Few more things, probably can be considered while you are working on navigation thing.

          While editing category (/course/editcategory.php?parent=9 or course/editcategory.php?id=3)

          1. breadcrumbs used to be
            Home ► Category: Category 2 (/1) ► Edit this category
            

            Now they are:

            Home ► Site administration ► Courses ► Add/edit courses
            
          2. Navigation is missing "Edit this category" and "Add a sub category" options and wrong navigation node is highlighted (related to breadcrumbs)

          Selection is not retained in pagination while moving courses. (Probably another issue to consider)

          1. Go to category manage (course/manage.php?id=12)
          2. Have some courses which show up as paginated
          3. Select 1 course from page 1
          4. Go to page 2 and select 1 more course
          5. Go back to page 1 and selection is not retained.

          Rest all appear to work great.
          Awesome work guys

          Let me know if you manage to fix above notice and I will pass this.

          Show
          Rajesh Taneja added a comment - Few more things, probably can be considered while you are working on navigation thing. While editing category (/course/editcategory.php?parent=9 or course/editcategory.php?id=3) breadcrumbs used to be Home ► Category: Category 2 (/1) ► Edit this category Now they are: Home ► Site administration ► Courses ► Add/edit courses Navigation is missing "Edit this category" and "Add a sub category" options and wrong navigation node is highlighted (related to breadcrumbs) Selection is not retained in pagination while moving courses. (Probably another issue to consider) Go to category manage (course/manage.php?id=12) Have some courses which show up as paginated Select 1 course from page 1 Go to page 2 and select 1 more course Go back to page 1 and selection is not retained. Rest all appear to work great. Awesome work guys Let me know if you manage to fix above notice and I will pass this.
          Hide
          Marina Glancy added a comment -

          Re notice, it is easy to fix, just misplaced $params
          https://github.com/marinaglancy/moodle/commit/0e68dbfe4f299c5c62e4e1b12a12f8869c09f53c

          I'm looking at navigation and breadcrumb

          moving courses - is this existing bug in master?

          Show
          Marina Glancy added a comment - Re notice, it is easy to fix, just misplaced $params https://github.com/marinaglancy/moodle/commit/0e68dbfe4f299c5c62e4e1b12a12f8869c09f53c I'm looking at navigation and breadcrumb moving courses - is this existing bug in master?
          Hide
          Rajesh Taneja added a comment - - edited

          Thanks Marina,

          Yes, it is existing bug in master.

          Show
          Rajesh Taneja added a comment - - edited Thanks Marina, Yes, it is existing bug in master.
          Hide
          Marina Glancy added a comment - - edited

          this is a fix for navigation for edit/add category pages
          https://github.com/marinaglancy/moodle/commit/9d430d98c20702f7c5ec91eb936f7a0f15bf535d

          what should be the correct breadcrumb / navigation path for manage page - I simply don't know.

          Show
          Marina Glancy added a comment - - edited this is a fix for navigation for edit/add category pages https://github.com/marinaglancy/moodle/commit/9d430d98c20702f7c5ec91eb936f7a0f15bf535d what should be the correct breadcrumb / navigation path for manage page - I simply don't know.
          Hide
          Sam Hemelryk added a comment -

          Thanks for picking that up Raj, and for providing a fix Marina.
          I've cherry-picked those two in now.

          Show
          Sam Hemelryk added a comment - Thanks for picking that up Raj, and for providing a fix Marina. I've cherry-picked those two in now.
          Hide
          Rajesh Taneja added a comment -

          Thanks Sam and Marina,

          Works well now.

          FYI: Marina's patch fixes edit category navigation, but for manage category page, it seems broken (course/manage.php?id=5). Wrong breadcrumbs and no active navigation node. As discussed with Sam, it will be fixed by MDL-37911.
          Will check and open bugs, which were found while testing.

          Cheers.

          Show
          Rajesh Taneja added a comment - Thanks Sam and Marina, Works well now. FYI: Marina's patch fixes edit category navigation, but for manage category page, it seems broken (course/manage.php?id=5). Wrong breadcrumbs and no active navigation node. As discussed with Sam, it will be fixed by MDL-37911 . Will check and open bugs, which were found while testing. Cheers.
          Hide
          Damyon Wiese added a comment -

          Congratulations! This issue has been resolved. Thanks for helping to make Moodle better for everyone!

          Regards, Damyon

          Show
          Damyon Wiese added a comment - Congratulations! This issue has been resolved. Thanks for helping to make Moodle better for everyone! Regards, Damyon

            People

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

              Dates

              • Created:
                Updated:
                Resolved: