Issue Details (XML | Word | Printable)

Key: MDL-18306
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: moodle.com
Reporter: Loïc Faure-Lacroix
Votes: 2
Watchers: 4
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Moodle

Metacourse scenario 2

Created: 19/Feb/09 02:16 AM   Updated: 06/Jun/09 09:30 AM
Component/s: Roles
Affects Version/s: 1.9.1
Fix Version/s: None

File Attachments: 1. Text File moodlepatch.txt (1 kB)

Environment: linux

Database: MySQL
Participants: Caroline Moore, Charles Fulton, Helen Foster, Loïc Faure-Lacroix and moodle.com
Security Level: None
Affected Branches: MOODLE_19_STABLE


 Description  « Hide
Unable to add users that don't have managemetacourse capability.

Well, I created modified the code to only allow people that has the moodle:course/request capability in the sync metacourse and in the admin/role/assign.php file to allow normal users to be added to metacourse.

So scenario 2 works well now. Unless I got something wrong. It is not needed for a user to be able to manage metacourses. We only want them to be added inside the course or in the parent course.

I tested my patch and it seems to work. I guess other thing should be modified as well. But it works.



 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Loïc Faure-Lacroix added a comment - 25/Feb/09 04:17 AM
Anyone?
Can someone tell me if the patch I provided is Okay. If there is something wrong. Tell me, I'll do the necessary change.

Is there a reason why only the people with the managemetacourse capability can join a metacourse. While other users with normal roles can't.
Is there a way to achieve the scenario2 without giving the managemetacourse capability.

Unless the above is impossible without giving the manage metacourse capability. I'd like to know if there is any risk with the patch I made.

Thank you,
Loïc Faure-Lacroix


Helen Foster added a comment - 27/Mar/09 05:20 PM
Loïc, thanks for your report and patch.

Sorry I'm unable to review your patch, however I suggest you post in the roles and capabilities forum http://moodle.org/mod/forum/view.php?id=6826 to ask why only users with the managemetacourse capability can join a metacourse.


Loïc Faure-Lacroix added a comment - 24/Apr/09 12:40 AM
Ok thank you, I'll ask on the forum then. It has already been asked but we got no answers so we made this patch to moodle.
I don't expect anything from the forum as I received no reply to the first thread.

Our problem is that we have this fix and it seems to work as expected. But we can't keep every fix for every features we fix.
Anyway, I'll give a try to the forum.


Caroline Moore added a comment - 06/Jun/09 03:21 AM
I haven't tested Loïc's patch yet, but we discovered this same "bug" today. I would love to see the ability to manually add any user to a metacourse.

It makes no sense to me to use the "manage metacourse" capability as a criterion for adding a user to a metacourse. Only Administrators and users who are already enrolled as Teachers within the context of this metacourse have this capability enabled by default.

To make metacourses truly useful, teachers need to be able to add users manually to the metacourse. There are scenarios in which a user might need to be added to the metacourse but should not be able to see any of the child courses.

The "manage metacourse" capability should ONLY control a user's ability to add and remove child courses. Either there should be a separate capability to control who can manually add users to a metacourse, or it should rely on the same logic as a regular course. (E.g. if a Teacher can add students to a regular course, s/he should also be able to add students directly to a metacourse.)

Loïc, could you explain exactly what your patch does? We ran into problems trying to fix this within Moodle. We could allow people to be manually enrolled in the course, but when the course enrollments were synchronized with the child courses (e.g. when we tried to unenroll one of the manually-added users), ALL manually-added users (who did not have "manage metacourse" capability) were unenrolled. Have you found a way to make manual enrollments stick?


Charles Fulton added a comment - 06/Jun/09 09:30 AM
This takes managemetacourse off the table for user/course management but that's just half the problem. I don't see the course:request capability in my testing instance, and you'd need to add it to all the managers who already have managemetacourse plus all the students who get manually added, and I don't see any code doing that.