I discovered this while trying out a few different WYSIWYG editors. If a user has created a signature using one WYSIWYG editor, then that editor is disabled, then when the user goes back to edit their account again, the "Signature Settings" box is disabled.
Steps to reproduce:
0. Enable signatures
1. Create an 'authenticated user' with no special privileges
2. Log in as an administrator, and create a text format and allow 'authenticated user' to use that format
3. Log in as the normal user, go to the My Account -> Edit page, and modify the user's signature using the newly created text format
4. Log in as an administrator, and remove access to the text format for 'authenticated user'
5. Log in as the normal user, and go to the My Account -> Edit page, and the signature settings box will be disabled and contain the message 'This field has been disabled because you do not have sufficient permissions to edit it'
I think that a better behavior would be to default to the plain text format if the user's signature_format is not allowed to be used by the user.
Comments
Comment #1
HaKi commentedi had the same problem.. the user must have access to "Filtered HTML" text format..
Comment #2
supercontra commentedI am having the same issue here too.
I want my signature to be only plain text and not give the user any choice to select signature format.
If I removed "Filter HTML", i get This field has been disabled because you do not have sufficient permissions to edit it
Comment #3
teddyboar commentedConfirmed the same issue, however in my case there's no need to remove any Text Format. I was simply changed the weight of Full Html Format to be the "first one". I didn't change the corresponding roles, so only admins can use Full Html input.
This way if I (as admin) add a new user, the user will have it's signature editing format set to Full Html, just like admin's.
I thought I tell about this, because it might differs from the original post from programmatic aspect, so the solution might needs more to cover this issue correctly. But it might not.
Comment #4
Slovak commentedIf an account has been created by an admin who has Full HTML or other level of content authoring / text format privileges, the signature field will be set to it, effectively disabling the newly created user from using it. Go into your database, look up the "users: table, and change the "signature_format" field to filtered_html.
Comment #5
drumrwaldo commentedI hate to resurrect this but I realized that giving users the option of full HTML was a bad thing so disabled that for authenticated users. If I log on now as a test user I can't edit the signature. Based on this issue and a couple others I found I have:
If I edit a user while logged on as an admin I can change the text format to plain text, and have then logged in as that user and verified that it solved the problem.
The issue persists, so short of using the masquerade module to log into everyone's account and manually changing this value, is there something else I'm missing?
The server is on a shared host and I haven't gotten SSH working to get to command line to restart mysql. Thanks to anyone that can help.