Page MenuHomePhabricator

Groups and tools only refreshed at login
Open, MediumPublicBUG REPORT

Description

Striker only synchronizes group membership with the backing LDAP directory when a user authenticates with the application. Two of the goals (join tool labs and become a tool maintainer) are evaluated based on group membership information. This means that a user must logout and log back into the application to complete these goals. This is not clear in the instructions.

It should be possible to refresh group membership information without logging out and the goals that are based on these group checks should provide an easy link to recheck the state.

Event Timeline

This is especially annoying/confusing when a user is first granted access to the tools project itself. Striker will tell you that you are approved with a notice, but then you still see the non-member interface.

Places where Django Groups are used in Striker:

striker.goals.signals.handlers.check_goal_member()

  • checks user.groups for settings.TOOLS_TOOL_LABS_GROUP_NAME

striker.goals.signals.handlers.check_goal_tool()

  • checks user.groups for names that start with 'tools.'

striker.tools.utils.create_tool()

  • Django Group is created and user is added to it as a member

striker.tools.utils.project_member()

  • checks user.groups for settings.TOOLS_TOOL_LABS_GROUP_NAME

striker.tools.views.repo.create()

  • Loads Django Group of tool to send notifications of repo creation

striker.tools.views.tool.create()

  • Loads Django Group of tool to send notifications of tool creation

striker.tools.views.tool.maintainers()

  • Loads Django Group of tool to send notifications of maintainer change`

Change 1009232 had a related patch set uploaded (by Majavah; author: Majavah):

[labs/striker@master] Refresh user group membership after membership is granted

https://gerrit.wikimedia.org/r/1009232

taavi moved this task from Ready to Doing on the Striker board.
taavi changed the subtype of this task from "Task" to "Bug Report".Mar 6 2024, 11:48 AM