I've got a fairly small Drupal 6 installation with a a few contributed modules (not any of the OG stuff though).
I've got two users roles defined, called "editor" and "publisher" with the editors having permissions to only do basic work on pages and publisher have more rights to do more administrative things.
For some reason, people in the "editor" role can edit most pages, but some pages (10% of them?) don't show the "edit" tab so they cannot edit them. That is NOT the intent. People in the "publisher" role get the edit tab on all pages, and I want that for the "editors" also.
With the various modules I have there are over 100 different permissions in /admin/user/permissions. The majority are the same between "editor" and "publisher" so I guess they don't matter in this case. But there are still about twenty or thirty where the "publisher" role has some permission granted that "editors" don't have.
I can fool around turning these twenty or so items on and off to find the culprit, but it seems like (a) a pain and (b) a good way to mess the permissions up by not restoring them to their proper setting.
Is there a better approach to solving this problem? -Steve
PS: I've tried searching for a solution but it's tough to search for "permissions" because that word gets used for so many other things like operating system file access issues. I did find this potentially useful site: http://befused.com/drupal/user-edit-node-problem but the suggestions there didn't fix my particular problem.
Comments
_
Make sure the appropriate roles have permission for the input format in use on the pages where the edit tab doesn't appear.
Not exactly it, but close - and solution found
Thanks WorldFallz, as always very helpful!
In this case, it wasn't a matter of permission for the input format, at least not directly. And that issue was already mentioned in the site I referred to: http://befused.com/drupal/user-edit-node-problem My site is set with Filtered HTML as default, and all roles can use it. The other formats are set as "no roles may use" So I think I was "ok" on that end.
After 30 minutes of nuisance of turning role permissions on and off and testing I discovered the "culprit" - having permission to "administer filters" in the filter module was turned off for my editors - and when I turn it on then the problem goes away - the edit tab now shows up on all pages for the editor role.
Now that I found the solution to my problem, I'm curious what it means. My editors are not trying to "administer filters" they only want to edit pages. By googling I discovered that this issue has come up before:
http://exodusdev.com/drupal-user-loses-edit-access-to-own-content
http://drupal.org/node/370360
But I don't understand what the meaning is. At any rate, I feel the problem is solved, and I only have a few users with this permission, and I trust them, so I'm not worried that they're going to cause a problem with their new ability to "administer filters" - but I'm still really curious - why does a role need the ability to administer filters in order to edit certain pages?
Thanks for the help!
_
hmm... I've never come across this. Is it perhaps possible that you're using a contributed module that adds a filter that has permissions associated with it?
Did you check what input
Did you check what input filter the nodes in question were set to? You may set the default to be Filtered HTML, but that doesn't change the existing individual node settings. If the node in question is set to PHP or Full HTML by admin or someone else with access, that will override the default. Then, the other users can't edit it. That is the only reason why I could see giving them Administer Filters rights fixes it, because they then gain access to every filter.
THANKS!!!!
WorldFallz - it's conceivable that one of my modules does that, but I don't know why that would affect some pages and not others? Guess it's possible, but I wouldn't know how to check.
Davidhernandez - I THINK YOU NAILED IT. My default has been Filtered HTML for a long time, but a few of my pages that were created early on had full HTML on for some reason that seemed important at the time but is no longer necessary (if it ever was). At least two of the problem pages were indeed set to full HTML when I checked, where all my regular pages are Filtered HTML.
We use the Clone module to make new pages that use a similar format as old pages, and I bet we've "cloned" a few problem pages and so ended up making some "new" full HTML pages long after I set the default to Filtered HTML. And since that's been the default so long for all pages, I never thought to look at the normally closed "Input Format" section of my pages.
Thanks a ton for the help!!!! Much appreciated...
finally - thanks for posting...
J know this is an old post but i hadn't found the solution till now for this problem on my drupal 6 site. Now I can move on!
Thanks
Thanks for documenting this. I had exactly the same issue where a user could edit all but a couple of nodes. Good to finally know what it is I've done that's affected the permissions.