Neither user1 nor users with a "site admin" role can unflag global flags set by other users when Flag access by content authorship -> Users may only flag content they own is set.

Steps to reproduce

  1. Set up flag-7.x-3.7 demo on simplytest.me.
  2. Create a global flag and apply it the Article content type. Also set it to show the checkbox on the edit form.
  3. Create an authenticated user, and create a flagged article.
  4. Create a new "site admin" role and give it every single permission that exists.
  5. Create a new user and git it the "site admin" role.
  6. Edit the article created by the authenticated user role with both user1 and the "site admin" user.

You will not be able to unflag the flag. Even though the "site admin" role has the "unflag" permission for the global flag.

If a role has permission to edit a node, then that role should be able to modify global flags on that node. Right? Especially since you can configure it so that users cannot unflag the flag themselves. Thus, there should be a way for an admin or editor to be able to fix things if said flag needs to be removed.

Comments

jerrac created an issue.

joachim’s picture

> If a role has permission to edit a node, then that role should be able to modify global flags on that node. Right?

I see what you're getting at, but the flag on a node isn't part of the node.

Also, I don't think we can change this behaviour at this point.

jerrac’s picture

Hmm... I see what you mean.

Then how do admins modify a flag they don't own?

If I use the "Flag access by content authorship -> No additional restrictions " setting, then any user who can use that flag can flag anyone's content. Not just their own.

I guess I could add an "admin override" flag for each of my flags, then use rules to bypass the ownership check. I'm not really fond of adding another flag per global flag though.

Um, this seems like something that should have come up a long time ago. Which makes me think I just didn't find the answer when I was searching. Or I'm missing the obvious.. :\