Page MenuHomePhabricator

Add a "Can Disable Users" capability to the "People" application
ClosedPublic

Authored by epriestley on Aug 27 2018, 1:58 PM.
Tags
None
Referenced Files
F15537478: D19606.diff
Thu, Apr 24, 2:01 PM
F15528628: D19606.diff
Tue, Apr 22, 12:48 PM
F15506023: D19606.id46876.diff
Tue, Apr 15, 7:56 AM
F15502253: D19606.id46876.diff
Sun, Apr 13, 11:16 PM
F15486967: D19606.diff
Thu, Apr 10, 10:13 AM
F15436222: D19606.id46871.diff
Mar 25 2025, 12:44 PM
F15431148: D19606.id.diff
Mar 24 2025, 10:47 AM
F15427808: D19606.diff
Mar 23 2025, 4:08 PM
Subscribers
None

Details

Summary

Depends on D19605. Ref T13189. See PHI642. This adds a separate "Can Disable Users" capability, and makes the underlying transaction use it.

This doesn't actually let you weaken the permission, since all pathways need more permissions:

  • user.edit needs CAN_EDIT.
  • user.disable/enable need admin.
  • Web UI workflow needs admin.

Upcoming changes will update these pathways.

Without additional changes, this does let you strengthen the permission.

This also fixes the inability to disable non-bot users via the web UI.

Test Plan
  • Set permission to "No One", tried to disable users. Got a tailored policy error.
  • Set permission to "All Users", disabled/enabled a non-bot user.

Diff Detail

Repository
rP Phabricator
Branch
disable3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 20676
Build 28101: Run Core Tests
Build 28100: arc lint + arc unit