Hey Berdir and all,
Users with the appropriate permissions currently have two different private message related fieldsets on the user edit page (user/[uid]edit): One is named "Privatemsg e-mail notification" and another is named "Privatemsg settings". For improved usability, we should combine these into a single fieldset, with the "Enable Private Messaging" checkbox as the first item in the fieldset (followed by the e-mail notification stuff).
Also, since these are user-facing settings, we shouldn't use an abbreviation like "Privatemsg". So change the title of this new combined fieldset to "Private messages".
Additionally, other modules that integrate with PM (such as User Relationships) should place there PM-related options in this same "Private messages" fieldset. But options supplied by these other modules should appear in the fieldset below options supplied for PM itself.
All of these changes will help the settings make much more sense to the average authenticated user.
--Ben
| Comment | File | Size | Author |
|---|---|---|---|
| #12 | merge_settings_d6.patch | 4.45 KB | berdir |
| #8 | merge_settings4.patch | 4.54 KB | berdir |
| #6 | merge_settings3.patch | 4.54 KB | berdir |
| #4 | merge_settings2.patch | 5.77 KB | berdir |
| #3 | merge_settings.patch | 5.69 KB | berdir |
Comments
Comment #1
berdirI think we already have an issue for this, but we can close that one as a duplicate.
The only problem is that this is actually more complicated than it sounds. Because the disable option is conditional (only displayed if you have a permission), the privatemsg fieldset might or might not exist.
I guess the easiest solution is to create a hook_privatemsg_user_settings() and if there are any settings, we add a fieldset and the options inside.
Comment #2
berdirActually, I just had a better idea.
We should be able to use the form API to make the fieldset hide itself if it is empty with an #after_build callback. We can use the same for User Relationships because there us currently no easy to way add fields with other modules.
Will make a patch soon.
Comment #3
berdirOk, attaching a patch, this looks quite nice I think..
I had to merge the fieldset to avoid overriding existing settings (pm_email_notify's hook_form_alter() is executed first) but it works fine now.
I was even able to add some #states fancyness to hide the unecessary options when privatemsg is disabled anyway.
Comment #4
berdirUpdated patch, only added a comment.
Comment #6
berdirNo idea why it didn't apply. Here's a re-roll anyway.
Comment #8
berdirStupid typo.
New try, for real ;)
Comment #9
BenK commentedThis works and looks great. It's cool how unchecking "Enable private messages" hides the other options. And I changed permissions and the options went away nicely. I think this is ready to be committed!
Comment #10
berdirGreat, commited. This can be backported as well...
Comment #11
berdirOh, wrong status...
Comment #12
berdirAttaching a patch for 6.x-2.x-dev
Comment #13
berdirCommited.