Considering that locking down avatars restricts the freedom of everyone owing to - in our case anyway - a tiny minority, I found it preferable to temporarily replace offending avatars on the server with a read-only image of Beaker, from the Muppet show.
We have managed to shut down the privileges to edit own profile for all users (except admin). Now, we want to allow teachers to edit their profiles. We're using the path:
Admin>Users>Permissions>Define Roles>Teachers>Edit Own Profile> Allow
We don't see, however, that privilege added to the teachers' profile.
Any suggestions?
Thanks in advance,
Homer
Re: How do you stop users (students) from editing their profiles?
has_capability('moodle/user:editownprofile',$systemcontext)
This may or may not be a bug, but it is scheduled to be revisited -- see MDL-14174.
Meanwhile, here are three methods. None of them is perfect. I'll give the pros and cons of each below.
(1) edit Authenticated user, setting moodle/user:editownprofile = Not set
or
(2) create a new role CannotEditOwnProfile with moodle/user:editownprofile = Prevent and assign it to users in the System context
or
(3) edit Authenticated user, setting moodle/user:editownprofile = Not set. Then create a new role CanEditOwnProfile with moodle/user:editownprofile = Allow and selectively assign CanEditOwnProfile to users in the System context
Comments:
(1) will prevent all users from editing their own profiles except for users with moodle/site:doanything = Allow (typically, only Administrator), so it will not work for you. This is probably what you have already done.
(2) requires the Administrator to manually assign CannotEditOwnProfile to users who SHOULD NOT be able to edit their profiles.
(3) requires the Administrator to manually assign CanEditOwnProfile to users who SHOULD be able to edit their profiles.
If only teachers should be able to edit their own profiles, then assuming there are fewer teachers than students, (3) is the most efficient solution.
Don't waste your time overriding the Teacher and Student roles. These roles are not assigned in the System context (at least they shouldn't be), so they will have no effect on users' ability to edit their own profiles.
Re: How do you stop users (students) from editing their profiles?
Anyway, trying to turn the capability on via the permissions for the Authenticated User role is not having any effect. I even verified in the database that the setting is getting changed in the mdl_role_capabilities table. But, when I login in as a regular user, I still don't see the "edit profile" tab when I click on my name.
Does anyone have any idea where Moodle might be getting the idea that users don't have permission to edit their profiles. I am really stumped. Any info is much appreciated.
Thanks!
Kristen
Re: How do you stop users (students) from editing their profiles?
Re: How do you stop users (students) from editing their profiles?
Re: How do you stop users (students) from editing their profiles?
You are a miracle worker! That was it! As soon as I set the Default Role for All Users to Authenticated User, the Edit Profile tab appeared.
Thank you so much!
-Kristen
PS
Can you post a picture of your car after you paint it orange? Love the license plate!
Re: How do you stop users (students) from editing their profiles?
For ease in debugging future role-related problems, install the Role debugger. You can get it from the Modules and Plugins database (click here) and you can read an article about it here. Installation is easy -- just drop the script in your Moodle root directory. You can also post to the forum or e-mail me directly if you need help using the script or interpreting the results. It really demystifies roles and permissions.
The car below belongs to Jeffery Watkins. Can you believe it?
Re: How do you stop users (students) from editing their profiles?
Jeff
Re: How do you stop users (students) from editing their profiles?
Re: How do you stop users (students) from editing their profiles?
The change required the addition of a new permission and the alteration of profile forms.
Now, students only have the option to display the default Moodle avatar (our equivalent of the smiley) or an "official" image taken during student enrollment for their ID cards.
I have given details of the mod to a couple of other Moodlers, if anyone else is interested in seeing how this was done they can PM me their mail address...
Jeremy
Re: How do you stop users (students) from editing their profiles?
Could you post the details of your mod changes to this forum for us? Either in the post or as an attachment file or patch?
Many thanks
Teresa
Re: How do you stop users (students) from editing their profiles?
Within a week or two I will be re-doing these changes for release 1.9.1. When I have done that I will post a zip of the altered / commented files here.
If in the mean time you would like to see the instructions / documentation I already have please PM me your mail address.... the doc contains (some very basic) info about our server which I do not want to publish here...
Regards, Jeremy
Re: How do you stop users (students) from editing their profiles?
Cheers
Teresa
Re: How do you stop users (students) from editing their profiles?
Hi Jeremy,
This is exactly what we are looking for.Would you be kind enought to email the deatails on how to acheive this.Many Thanks
Annick
Hi, I am having the opposite issue. I want users to be able to edit their profiles, and they are being blocked. I have set the default user level on the systemwide permissions to Authenticated User, and "edit own user profile" is checked as allowed, yet, people can't do it. Any suggestions? Many thanks.
Amy Skezas
Re: How do you stop users (students) from editing their profiles?
Hi Amy,
Did you figure this out? I am experiencing the same issue. My students do nto see an edit profile option even though I have the edit own user profile set to allow.
I went to
Admin > Users > Permissions > Define Roles > Authenticated user
and set changeownpassword to Prohibit
Scroll down and Save