Page MenuHomePhabricator

Remove deprecated Maniphest "Can Edit <Specific Property>" capabilities
ClosedPublic

Authored by epriestley on Aug 14 2018, 5:52 PM.
Tags
None
Referenced Files
F14056891: D19581.diff
Sat, Nov 16, 11:10 PM
F14010019: D19581.id46812.diff
Thu, Oct 31, 3:09 AM
F13960362: D19581.id.diff
Oct 14 2024, 11:06 PM
F13960132: D19581.id46835.diff
Oct 14 2024, 10:05 PM
Unknown Object (File)
Oct 9 2024, 9:52 AM
Unknown Object (File)
Sep 21 2024, 3:29 AM
Unknown Object (File)
Sep 10 2024, 6:53 AM
Unknown Object (File)
Sep 10 2024, 6:53 AM
Subscribers

Details

Summary

Depends on D19579. Fixes T10003. These have been deprecated with a setup warning about their impending removal for about two and a half years.

Ref T13164. See PHI642. My overall goal here is to simplify how we handle transactions which have special policy behaviors. In particular, I'm hoping to replace ApplicationTransactionEditor->requireCapabilities() with a new, more clear policy check.

A problem with requireCapabilities() is that it doesn't actually enforce any policies in almost all cases: the default is "nothing", not CAN_EDIT. So it ends up looking like it's the right place to specialize policy checks, but it usually isn't.

For "Disable", I need to be able to weaken the check selectively (you can disable users if you have the permission, even if you can't edit them otherwise). We have a handful of other edits which work like this (notably, leaving and joining projects) but they're very rare.

Test Plan

Grepped for all removed classes. Edited a Maniphest task.

Diff Detail

Repository
rP Phabricator
Branch
uxaction4
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 20612
Build 28006: Run Core Tests
Build 28005: arc lint + arc unit