I'm noticing problems with LoginToboggan in Drupal 7 when the Field Permission module is also enabled.
This is most likely due to both modules using the variable & html IDs "permissions" which seem to trigger each others JS.
To recreate the problem. Create a new website with both modules enabled. Then attempt to create a field (textfield) on a user profile.
admin/config/people/accounts/fields/FIELD_NAME
Normally when you have "FIeld Permissions" module enabled, and click the "Custom Permissions" radio under "Field visibility and permissions" options, you get some AJAX HTML opening up where you can configure the permissions, but because there's a conflict with the logintoboggan.permissions.js, we don't get this popup.
Here's the JS error I'm getting:
Uncaught TypeError: Cannot read property 'preAuthID' of undefined logintoboggan.permissions.js:41
I've searched the issue queue and there appears to be other conflicts as well.
#1473068: Drupal.settings.LoginToboggan is undefined
Comments
Comment #1
j0rd commentedupdating to more descriptive title.
Comment #2
j0rd commentedI've found other issues related to this now. Closing my issue.
I believe most people who run into this bug, is because they have field_permissions (Field Permissions) module installed. Going through and tagging issues and adding keywords into issues, so people can find them.
#1407402: Field permissions reset to default (no access) after updating the field
#1407564: CSS conflict with logintoboggan, prevents using Custom Permissions (field_permissions module)
#1365764: Adding logintoboggan.permissions.js causes error if Drupal.settings.LoginToboggan not set.
Comment #3
mabho commentedA "dirty" workaround for this issue is enabling custom permissions for the desired field. The custom permissions form won't show up. Save the field this way. Then go to "People" > "Permissions", scroll to the "Field Permissions" group and set the custom permissions for the desired field. You are done!
The problem with this approach is that if you want to change whatever configuration in the field with the custom permission (change its description, field size, required checkbox or anything) and save, it will reset all permissions to the default. In that case, you will have to go back to the Drupal global permissions page and set the desired permissions from there again.