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

HaKi’s picture

i had the same problem.. the user must have access to "Filtered HTML" text format..

supercontra’s picture

I 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

teddyboar’s picture

Version: 7.0 » 7.2

Confirmed 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.

Slovak’s picture

Version: 7.2 » 7.7

If 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.

drumrwaldo’s picture

Version: 7.7 » 7.19

I 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:

  • Changed signature_format in users table to 3. Verified the change for all users.
  • Verified in filter_format table that 3 corresponds to plain text format.
  • Re-ordered the list on "Text Formats" page to plain text, then filtered HTML, then full HTML.
  • Run cron and cleared caches many times.
  • Rebuilt permissions a few times.

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.

Version: 7.19 » 7.x-dev

Core issues are now filed against the dev versions where changes will be made. Document the specific release you are using in your issue comment. More information about choosing a version.

Status: Active » Closed (outdated)

Automatically closed because Drupal 7 security and bugfix support has ended as of 5 January 2025. If the issue verifiably applies to later versions, please reopen with details and update the version.