HomePhabricator

Allow "Can Configure Application" permissions to be configured

Description

Allow "Can Configure Application" permissions to be configured

Summary:
Ref T13216. See PHI980. Currently, each application in ApplicationsXConfigure has a "Can Configure Application" permission which is hard-coded to "Administrators".

There's no technical reason for this, there just hasn't been a great use case for unlocking it. I think when I originally wrote it our protections against locking yourself out of things weren't that great (i.e., it was easier to set the policy to something that prevented you from editing it after the new policy took effect). Our protections are better now.

The major goal here is to let installs open up Custom Forms for given applications (mostly Maniphest) to more users, but the other options mostly go hand-in-hand with that.

Also, in developer mode, include stack traces for policy exceptions. This makes debugging weird stuff (like the indirect Config application errors here) easier.

Test Plan:

  • Granted "Can Configure Application" for Maniphest to all users.
  • Edited custom forms as a non-administrator.
  • Configured Maniphest as a non-administrator.
  • Installed/uninstalled Maniphest as a non-administrator.
  • Tried to lock myself out (got an error message).

Screen Shot 2018-11-17 at 10.48.29 AM.png (1×2 px, 280 KB)

Reviewers: amckinley, joshuaspence

Reviewed By: joshuaspence

Subscribers: joshuaspence

Maniphest Tasks: T13216

Differential Revision: https://secure.phabricator.com/D19822