Page MenuHomePhabricator

D16831.id40534.diff
No OneTemporary

D16831.id40534.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -9,7 +9,7 @@
'names' => array(
'conpherence.pkg.css' => 'cea72e09',
'conpherence.pkg.js' => '6249a1cf',
- 'core.pkg.css' => 'c99a9eb4',
+ 'core.pkg.css' => 'd2126ffb',
'core.pkg.js' => '1a77dddf',
'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => 'a4ba74b5',
@@ -21,7 +21,7 @@
'maniphest.pkg.js' => '949a7498',
'rsrc/css/aphront/aphront-bars.css' => '231ac33c',
'rsrc/css/aphront/dark-console.css' => 'f54bf286',
- 'rsrc/css/aphront/dialog-view.css' => '84f1e6a6',
+ 'rsrc/css/aphront/dialog-view.css' => '1e6b8603',
'rsrc/css/aphront/lightbox-attachment.css' => '7acac05d',
'rsrc/css/aphront/list-filter-view.css' => '5d6f0526',
'rsrc/css/aphront/multi-column.css' => '84cc6640',
@@ -143,7 +143,7 @@
'rsrc/css/phui/phui-form-view.css' => 'b5bfd17a',
'rsrc/css/phui/phui-form.css' => 'aac1d51d',
'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f',
- 'rsrc/css/phui/phui-header-view.css' => '06385974',
+ 'rsrc/css/phui/phui-header-view.css' => '6ec8f155',
'rsrc/css/phui/phui-hovercard.css' => 'de1a2119',
'rsrc/css/phui/phui-icon-set-selector.css' => '1ab67aad',
'rsrc/css/phui/phui-icon.css' => '417f80fb',
@@ -553,7 +553,7 @@
'almanac-css' => 'dbb9b3af',
'aphront-bars' => '231ac33c',
'aphront-dark-console-css' => 'f54bf286',
- 'aphront-dialog-view-css' => '84f1e6a6',
+ 'aphront-dialog-view-css' => '1e6b8603',
'aphront-list-filter-view-css' => '5d6f0526',
'aphront-multi-column-view-css' => '84cc6640',
'aphront-panel-view-css' => '8427b78d',
@@ -867,7 +867,7 @@
'phui-form-css' => 'aac1d51d',
'phui-form-view-css' => 'b5bfd17a',
'phui-head-thing-view-css' => 'fd311e5f',
- 'phui-header-view-css' => '06385974',
+ 'phui-header-view-css' => '6ec8f155',
'phui-hovercard' => '1bd28176',
'phui-hovercard-view-css' => 'de1a2119',
'phui-icon-set-selector-css' => '1ab67aad',
diff --git a/src/applications/almanac/storage/AlmanacDevice.php b/src/applications/almanac/storage/AlmanacDevice.php
--- a/src/applications/almanac/storage/AlmanacDevice.php
+++ b/src/applications/almanac/storage/AlmanacDevice.php
@@ -167,10 +167,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorExtendedPolicyInterface )--------------------------------- */
diff --git a/src/applications/almanac/storage/AlmanacNamespace.php b/src/applications/almanac/storage/AlmanacNamespace.php
--- a/src/applications/almanac/storage/AlmanacNamespace.php
+++ b/src/applications/almanac/storage/AlmanacNamespace.php
@@ -174,10 +174,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/almanac/storage/AlmanacNetwork.php b/src/applications/almanac/storage/AlmanacNetwork.php
--- a/src/applications/almanac/storage/AlmanacNetwork.php
+++ b/src/applications/almanac/storage/AlmanacNetwork.php
@@ -92,10 +92,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/almanac/storage/AlmanacService.php b/src/applications/almanac/storage/AlmanacService.php
--- a/src/applications/almanac/storage/AlmanacService.php
+++ b/src/applications/almanac/storage/AlmanacService.php
@@ -184,10 +184,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorExtendedPolicyInterface )--------------------------------- */
diff --git a/src/applications/auth/storage/PhabricatorAuthProviderConfig.php b/src/applications/auth/storage/PhabricatorAuthProviderConfig.php
--- a/src/applications/auth/storage/PhabricatorAuthProviderConfig.php
+++ b/src/applications/auth/storage/PhabricatorAuthProviderConfig.php
@@ -130,8 +130,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/auth/storage/PhabricatorAuthTemporaryToken.php b/src/applications/auth/storage/PhabricatorAuthTemporaryToken.php
--- a/src/applications/auth/storage/PhabricatorAuthTemporaryToken.php
+++ b/src/applications/auth/storage/PhabricatorAuthTemporaryToken.php
@@ -125,8 +125,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/badges/storage/PhabricatorBadgesAward.php b/src/applications/badges/storage/PhabricatorBadgesAward.php
--- a/src/applications/badges/storage/PhabricatorBadgesAward.php
+++ b/src/applications/badges/storage/PhabricatorBadgesAward.php
@@ -76,8 +76,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/badges/storage/PhabricatorBadgesBadge.php b/src/applications/badges/storage/PhabricatorBadgesBadge.php
--- a/src/applications/badges/storage/PhabricatorBadgesBadge.php
+++ b/src/applications/badges/storage/PhabricatorBadgesBadge.php
@@ -129,10 +129,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/base/PhabricatorApplication.php b/src/applications/base/PhabricatorApplication.php
--- a/src/applications/base/PhabricatorApplication.php
+++ b/src/applications/base/PhabricatorApplication.php
@@ -483,10 +483,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( Policies )----------------------------------------------------------- */
diff --git a/src/applications/calendar/storage/PhabricatorCalendarEventInvitee.php b/src/applications/calendar/storage/PhabricatorCalendarEventInvitee.php
--- a/src/applications/calendar/storage/PhabricatorCalendarEventInvitee.php
+++ b/src/applications/calendar/storage/PhabricatorCalendarEventInvitee.php
@@ -121,7 +121,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
}
diff --git a/src/applications/calendar/storage/PhabricatorCalendarExport.php b/src/applications/calendar/storage/PhabricatorCalendarExport.php
--- a/src/applications/calendar/storage/PhabricatorCalendarExport.php
+++ b/src/applications/calendar/storage/PhabricatorCalendarExport.php
@@ -159,11 +159,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/calendar/storage/PhabricatorCalendarExternalInvitee.php b/src/applications/calendar/storage/PhabricatorCalendarExternalInvitee.php
--- a/src/applications/calendar/storage/PhabricatorCalendarExternalInvitee.php
+++ b/src/applications/calendar/storage/PhabricatorCalendarExternalInvitee.php
@@ -68,7 +68,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
}
diff --git a/src/applications/calendar/storage/PhabricatorCalendarImport.php b/src/applications/calendar/storage/PhabricatorCalendarImport.php
--- a/src/applications/calendar/storage/PhabricatorCalendarImport.php
+++ b/src/applications/calendar/storage/PhabricatorCalendarImport.php
@@ -132,10 +132,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/calendar/storage/PhabricatorCalendarImportLog.php b/src/applications/calendar/storage/PhabricatorCalendarImportLog.php
--- a/src/applications/calendar/storage/PhabricatorCalendarImportLog.php
+++ b/src/applications/calendar/storage/PhabricatorCalendarImportLog.php
@@ -86,10 +86,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/chatlog/storage/PhabricatorChatLogChannel.php b/src/applications/chatlog/storage/PhabricatorChatLogChannel.php
--- a/src/applications/chatlog/storage/PhabricatorChatLogChannel.php
+++ b/src/applications/chatlog/storage/PhabricatorChatLogChannel.php
@@ -48,8 +48,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/chatlog/storage/PhabricatorChatLogEvent.php b/src/applications/chatlog/storage/PhabricatorChatLogEvent.php
--- a/src/applications/chatlog/storage/PhabricatorChatLogEvent.php
+++ b/src/applications/chatlog/storage/PhabricatorChatLogEvent.php
@@ -56,8 +56,4 @@
return $this->getChannel()->hasAutomaticCapability($capability, $viewer);
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/conduit/method/ConduitAPIMethod.php b/src/applications/conduit/method/ConduitAPIMethod.php
--- a/src/applications/conduit/method/ConduitAPIMethod.php
+++ b/src/applications/conduit/method/ConduitAPIMethod.php
@@ -372,10 +372,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
protected function hasApplicationCapability(
$capability,
PhabricatorUser $viewer) {
diff --git a/src/applications/conduit/storage/PhabricatorConduitMethodCallLog.php b/src/applications/conduit/storage/PhabricatorConduitMethodCallLog.php
--- a/src/applications/conduit/storage/PhabricatorConduitMethodCallLog.php
+++ b/src/applications/conduit/storage/PhabricatorConduitMethodCallLog.php
@@ -52,8 +52,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/config/storage/PhabricatorConfigEntry.php b/src/applications/config/storage/PhabricatorConfigEntry.php
--- a/src/applications/config/storage/PhabricatorConfigEntry.php
+++ b/src/applications/config/storage/PhabricatorConfigEntry.php
@@ -95,8 +95,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/countdown/storage/PhabricatorCountdown.php b/src/applications/countdown/storage/PhabricatorCountdown.php
--- a/src/applications/countdown/storage/PhabricatorCountdown.php
+++ b/src/applications/countdown/storage/PhabricatorCountdown.php
@@ -139,10 +139,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return false;
- }
-
/* -( PhabricatorSpacesInterface )------------------------------------------- */
public function getSpacePHID() {
diff --git a/src/applications/daemon/storage/PhabricatorDaemonLog.php b/src/applications/daemon/storage/PhabricatorDaemonLog.php
--- a/src/applications/daemon/storage/PhabricatorDaemonLog.php
+++ b/src/applications/daemon/storage/PhabricatorDaemonLog.php
@@ -77,8 +77,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/dashboard/storage/PhabricatorDashboard.php b/src/applications/dashboard/storage/PhabricatorDashboard.php
--- a/src/applications/dashboard/storage/PhabricatorDashboard.php
+++ b/src/applications/dashboard/storage/PhabricatorDashboard.php
@@ -160,10 +160,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/dashboard/storage/PhabricatorDashboardPanel.php b/src/applications/dashboard/storage/PhabricatorDashboardPanel.php
--- a/src/applications/dashboard/storage/PhabricatorDashboardPanel.php
+++ b/src/applications/dashboard/storage/PhabricatorDashboardPanel.php
@@ -159,10 +159,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorCustomFieldInterface )------------------------------------ */
diff --git a/src/applications/differential/storage/DifferentialChangeset.php b/src/applications/differential/storage/DifferentialChangeset.php
--- a/src/applications/differential/storage/DifferentialChangeset.php
+++ b/src/applications/differential/storage/DifferentialChangeset.php
@@ -226,8 +226,4 @@
return $this->getDiff()->hasAutomaticCapability($capability, $viewer);
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/differential/storage/DifferentialHunk.php b/src/applications/differential/storage/DifferentialHunk.php
--- a/src/applications/differential/storage/DifferentialHunk.php
+++ b/src/applications/differential/storage/DifferentialHunk.php
@@ -228,8 +228,4 @@
return $this->getChangeset()->hasAutomaticCapability($capability, $viewer);
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/diviner/storage/DivinerLiveBook.php b/src/applications/diviner/storage/DivinerLiveBook.php
--- a/src/applications/diviner/storage/DivinerLiveBook.php
+++ b/src/applications/diviner/storage/DivinerLiveBook.php
@@ -114,10 +114,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/doorkeeper/storage/DoorkeeperExternalObject.php b/src/applications/doorkeeper/storage/DoorkeeperExternalObject.php
--- a/src/applications/doorkeeper/storage/DoorkeeperExternalObject.php
+++ b/src/applications/doorkeeper/storage/DoorkeeperExternalObject.php
@@ -121,8 +121,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/drydock/storage/DrydockBlueprint.php b/src/applications/drydock/storage/DrydockBlueprint.php
--- a/src/applications/drydock/storage/DrydockBlueprint.php
+++ b/src/applications/drydock/storage/DrydockBlueprint.php
@@ -325,10 +325,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorCustomFieldInterface )------------------------------------ */
diff --git a/src/applications/feed/story/PhabricatorFeedStory.php b/src/applications/feed/story/PhabricatorFeedStory.php
--- a/src/applications/feed/story/PhabricatorFeedStory.php
+++ b/src/applications/feed/story/PhabricatorFeedStory.php
@@ -454,11 +454,6 @@
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorMarkupInterface Implementation )--------------------------- */
diff --git a/src/applications/files/storage/PhabricatorFileChunk.php b/src/applications/files/storage/PhabricatorFileChunk.php
--- a/src/applications/files/storage/PhabricatorFileChunk.php
+++ b/src/applications/files/storage/PhabricatorFileChunk.php
@@ -77,11 +77,6 @@
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/legalpad/storage/LegalpadDocumentSignature.php b/src/applications/legalpad/storage/LegalpadDocumentSignature.php
--- a/src/applications/legalpad/storage/LegalpadDocumentSignature.php
+++ b/src/applications/legalpad/storage/LegalpadDocumentSignature.php
@@ -93,8 +93,4 @@
return ($viewer->getPHID() == $this->getSignerPHID());
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/macro/storage/PhabricatorFileImageMacro.php b/src/applications/macro/storage/PhabricatorFileImageMacro.php
--- a/src/applications/macro/storage/PhabricatorFileImageMacro.php
+++ b/src/applications/macro/storage/PhabricatorFileImageMacro.php
@@ -139,8 +139,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/nuance/storage/NuanceImportCursorData.php b/src/applications/nuance/storage/NuanceImportCursorData.php
--- a/src/applications/nuance/storage/NuanceImportCursorData.php
+++ b/src/applications/nuance/storage/NuanceImportCursorData.php
@@ -63,8 +63,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/nuance/storage/NuanceItemCommand.php b/src/applications/nuance/storage/NuanceItemCommand.php
--- a/src/applications/nuance/storage/NuanceItemCommand.php
+++ b/src/applications/nuance/storage/NuanceItemCommand.php
@@ -48,8 +48,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/nuance/storage/NuanceQueue.php b/src/applications/nuance/storage/NuanceQueue.php
--- a/src/applications/nuance/storage/NuanceQueue.php
+++ b/src/applications/nuance/storage/NuanceQueue.php
@@ -67,10 +67,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/nuance/storage/NuanceSource.php b/src/applications/nuance/storage/NuanceSource.php
--- a/src/applications/nuance/storage/NuanceSource.php
+++ b/src/applications/nuance/storage/NuanceSource.php
@@ -138,10 +138,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorNgramsInterface )----------------------------------------- */
diff --git a/src/applications/oauthserver/storage/PhabricatorOAuthServerClient.php b/src/applications/oauthserver/storage/PhabricatorOAuthServerClient.php
--- a/src/applications/oauthserver/storage/PhabricatorOAuthServerClient.php
+++ b/src/applications/oauthserver/storage/PhabricatorOAuthServerClient.php
@@ -83,10 +83,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/packages/storage/PhabricatorPackagesPackage.php b/src/applications/packages/storage/PhabricatorPackagesPackage.php
--- a/src/applications/packages/storage/PhabricatorPackagesPackage.php
+++ b/src/applications/packages/storage/PhabricatorPackagesPackage.php
@@ -158,10 +158,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/packages/storage/PhabricatorPackagesPublisher.php b/src/applications/packages/storage/PhabricatorPackagesPublisher.php
--- a/src/applications/packages/storage/PhabricatorPackagesPublisher.php
+++ b/src/applications/packages/storage/PhabricatorPackagesPublisher.php
@@ -134,10 +134,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/packages/storage/PhabricatorPackagesVersion.php b/src/applications/packages/storage/PhabricatorPackagesVersion.php
--- a/src/applications/packages/storage/PhabricatorPackagesVersion.php
+++ b/src/applications/packages/storage/PhabricatorPackagesVersion.php
@@ -126,10 +126,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorExtendedPolicyInterface )--------------------------------- */
diff --git a/src/applications/passphrase/storage/PassphraseCredential.php b/src/applications/passphrase/storage/PassphraseCredential.php
--- a/src/applications/passphrase/storage/PassphraseCredential.php
+++ b/src/applications/passphrase/storage/PassphraseCredential.php
@@ -155,10 +155,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorSubscribableInterface )----------------------------------- */
diff --git a/src/applications/phlux/storage/PhluxVariable.php b/src/applications/phlux/storage/PhluxVariable.php
--- a/src/applications/phlux/storage/PhluxVariable.php
+++ b/src/applications/phlux/storage/PhluxVariable.php
@@ -80,8 +80,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/pholio/storage/PholioImage.php b/src/applications/pholio/storage/PholioImage.php
--- a/src/applications/pholio/storage/PholioImage.php
+++ b/src/applications/pholio/storage/PholioImage.php
@@ -119,8 +119,4 @@
return $this->getMock()->hasAutomaticCapability($capability, $viewer);
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/phortune/storage/PhortuneProduct.php b/src/applications/phortune/storage/PhortuneProduct.php
--- a/src/applications/phortune/storage/PhortuneProduct.php
+++ b/src/applications/phortune/storage/PhortuneProduct.php
@@ -110,8 +110,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/phragment/storage/PhragmentFragment.php b/src/applications/phragment/storage/PhragmentFragment.php
--- a/src/applications/phragment/storage/PhragmentFragment.php
+++ b/src/applications/phragment/storage/PhragmentFragment.php
@@ -345,8 +345,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/policy/__tests__/PhabricatorPolicyTestObject.php b/src/applications/policy/__tests__/PhabricatorPolicyTestObject.php
--- a/src/applications/policy/__tests__/PhabricatorPolicyTestObject.php
+++ b/src/applications/policy/__tests__/PhabricatorPolicyTestObject.php
@@ -52,10 +52,6 @@
return $this;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
public function setExtendedPolicies(array $extended_policies) {
$this->extendedPolicies = $extended_policies;
return $this;
diff --git a/src/applications/policy/controller/PhabricatorPolicyExplainController.php b/src/applications/policy/controller/PhabricatorPolicyExplainController.php
--- a/src/applications/policy/controller/PhabricatorPolicyExplainController.php
+++ b/src/applications/policy/controller/PhabricatorPolicyExplainController.php
@@ -262,47 +262,16 @@
$capability) {
$viewer = $this->getViewer();
- if ($object instanceof PhabricatorPolicyCodexInterface) {
- $codex = PhabricatorPolicyCodex::newFromObject($object, $viewer);
- $rules = $codex->getPolicySpecialRuleDescriptions();
-
- $exceptions = array();
- foreach ($rules as $rule) {
- $is_active = $rule->getIsActive();
- if ($is_active) {
- $rule_capabilities = $rule->getCapabilities();
- if ($rule_capabilities) {
- if (!in_array($capability, $rule_capabilities)) {
- $is_active = false;
- }
- }
- }
-
- $description = $rule->getDescription();
-
- if (!$is_active) {
- $description = phutil_tag(
- 'span',
- array(
- 'class' => 'phui-policy-section-view-inactive-rule',
- ),
- $description);
- }
-
- $exceptions[] = $description;
- }
- } else if (method_exists($object, 'describeAutomaticCapability')) {
- $exceptions = (array)$object->describeAutomaticCapability($capability);
- $exceptions = array_filter($exceptions);
- } else {
- $exceptions = array();
- }
+ $exceptions = PhabricatorPolicy::getSpecialRules(
+ $object,
+ $viewer,
+ $capability,
+ false);
if (!$exceptions) {
return null;
}
-
return id(new PHUIPolicySectionView())
->setViewer($viewer)
->setIcon('fa-unlock-alt red')
diff --git a/src/applications/policy/filter/PhabricatorPolicyFilter.php b/src/applications/policy/filter/PhabricatorPolicyFilter.php
--- a/src/applications/policy/filter/PhabricatorPolicyFilter.php
+++ b/src/applications/policy/filter/PhabricatorPolicyFilter.php
@@ -581,9 +581,16 @@
}
$more = PhabricatorPolicy::getPolicyExplanation($this->viewer, $policy);
- $exceptions = $object->describeAutomaticCapability($capability);
+ $more = (array)$more;
+ $more = array_filter($more);
- $details = array_filter(array_merge(array($more), (array)$exceptions));
+ $exceptions = PhabricatorPolicy::getSpecialRules(
+ $object,
+ $this->viewer,
+ $capability,
+ true);
+
+ $details = array_filter(array_merge($more, $exceptions));
$access_denied = $this->renderAccessDenied($object);
diff --git a/src/applications/policy/storage/PhabricatorPolicy.php b/src/applications/policy/storage/PhabricatorPolicy.php
--- a/src/applications/policy/storage/PhabricatorPolicy.php
+++ b/src/applications/policy/storage/PhabricatorPolicy.php
@@ -422,6 +422,54 @@
return ($this_strength > $other_strength);
}
+ public static function getSpecialRules(
+ PhabricatorPolicyInterface $object,
+ PhabricatorUser $viewer,
+ $capability,
+ $active_only) {
+
+ if ($object instanceof PhabricatorPolicyCodexInterface) {
+ $codex = PhabricatorPolicyCodex::newFromObject($object, $viewer);
+ $rules = $codex->getPolicySpecialRuleDescriptions();
+
+ $exceptions = array();
+ foreach ($rules as $rule) {
+ $is_active = $rule->getIsActive();
+ if ($is_active) {
+ $rule_capabilities = $rule->getCapabilities();
+ if ($rule_capabilities) {
+ if (!in_array($capability, $rule_capabilities)) {
+ $is_active = false;
+ }
+ }
+ }
+
+ if (!$is_active && $active_only) {
+ continue;
+ }
+
+ $description = $rule->getDescription();
+
+ if (!$is_active) {
+ $description = phutil_tag(
+ 'span',
+ array(
+ 'class' => 'phui-policy-section-view-inactive-rule',
+ ),
+ $description);
+ }
+
+ $exceptions[] = $description;
+ }
+ } else if (method_exists($object, 'describeAutomaticCapability')) {
+ $exceptions = (array)$object->describeAutomaticCapability($capability);
+ $exceptions = array_filter($exceptions);
+ } else {
+ $exceptions = array();
+ }
+
+ return $exceptions;
+ }
/* -( PhabricatorPolicyInterface )----------------------------------------- */
@@ -444,10 +492,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/project/storage/PhabricatorProjectColumnPosition.php b/src/applications/project/storage/PhabricatorProjectColumnPosition.php
--- a/src/applications/project/storage/PhabricatorProjectColumnPosition.php
+++ b/src/applications/project/storage/PhabricatorProjectColumnPosition.php
@@ -87,8 +87,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/releeph/storage/ReleephProject.php b/src/applications/releeph/storage/ReleephProject.php
--- a/src/applications/releeph/storage/ReleephProject.php
+++ b/src/applications/releeph/storage/ReleephProject.php
@@ -153,9 +153,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
}
diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php
--- a/src/applications/repository/storage/PhabricatorRepository.php
+++ b/src/applications/repository/storage/PhabricatorRepository.php
@@ -2330,11 +2330,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorMarkupInterface )----------------------------------------- */
diff --git a/src/applications/repository/storage/PhabricatorRepositoryCommitHint.php b/src/applications/repository/storage/PhabricatorRepositoryCommitHint.php
--- a/src/applications/repository/storage/PhabricatorRepositoryCommitHint.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryCommitHint.php
@@ -130,8 +130,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/repository/storage/PhabricatorRepositoryGitLFSRef.php b/src/applications/repository/storage/PhabricatorRepositoryGitLFSRef.php
--- a/src/applications/repository/storage/PhabricatorRepositoryGitLFSRef.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryGitLFSRef.php
@@ -45,10 +45,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/repository/storage/PhabricatorRepositoryOldRef.php b/src/applications/repository/storage/PhabricatorRepositoryOldRef.php
--- a/src/applications/repository/storage/PhabricatorRepositoryOldRef.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryOldRef.php
@@ -45,8 +45,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/repository/storage/PhabricatorRepositoryURI.php b/src/applications/repository/storage/PhabricatorRepositoryURI.php
--- a/src/applications/repository/storage/PhabricatorRepositoryURI.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryURI.php
@@ -642,10 +642,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
/* -( PhabricatorExtendedPolicyInterface )--------------------------------- */
diff --git a/src/applications/search/storage/PhabricatorProfilePanelConfiguration.php b/src/applications/search/storage/PhabricatorProfilePanelConfiguration.php
--- a/src/applications/search/storage/PhabricatorProfilePanelConfiguration.php
+++ b/src/applications/search/storage/PhabricatorProfilePanelConfiguration.php
@@ -162,11 +162,6 @@
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorExtendedPolicyInterface )--------------------------------- */
diff --git a/src/applications/search/storage/PhabricatorSavedQuery.php b/src/applications/search/storage/PhabricatorSavedQuery.php
--- a/src/applications/search/storage/PhabricatorSavedQuery.php
+++ b/src/applications/search/storage/PhabricatorSavedQuery.php
@@ -81,8 +81,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}
diff --git a/src/applications/settings/storage/PhabricatorUserPreferences.php b/src/applications/settings/storage/PhabricatorUserPreferences.php
--- a/src/applications/settings/storage/PhabricatorUserPreferences.php
+++ b/src/applications/settings/storage/PhabricatorUserPreferences.php
@@ -222,11 +222,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorDestructibleInterface )----------------------------------- */
diff --git a/src/applications/spaces/storage/PhabricatorSpacesNamespace.php b/src/applications/spaces/storage/PhabricatorSpacesNamespace.php
--- a/src/applications/spaces/storage/PhabricatorSpacesNamespace.php
+++ b/src/applications/spaces/storage/PhabricatorSpacesNamespace.php
@@ -84,11 +84,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/applications/tokens/storage/PhabricatorToken.php b/src/applications/tokens/storage/PhabricatorToken.php
--- a/src/applications/tokens/storage/PhabricatorToken.php
+++ b/src/applications/tokens/storage/PhabricatorToken.php
@@ -28,10 +28,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
public function renderIcon() {
// TODO: Maybe move to a View class?
diff --git a/src/applications/transactions/editengine/PhabricatorEditEngine.php b/src/applications/transactions/editengine/PhabricatorEditEngine.php
--- a/src/applications/transactions/editengine/PhabricatorEditEngine.php
+++ b/src/applications/transactions/editengine/PhabricatorEditEngine.php
@@ -2275,7 +2275,4 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
}
diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php
--- a/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php
+++ b/src/applications/transactions/storage/PhabricatorEditEngineConfiguration.php
@@ -302,11 +302,6 @@
return false;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
-
/* -( PhabricatorApplicationTransactionInterface )------------------------- */
diff --git a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTrigger.php b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTrigger.php
--- a/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTrigger.php
+++ b/src/infrastructure/daemon/workers/storage/PhabricatorWorkerTrigger.php
@@ -190,8 +190,4 @@
return true;
}
- public function describeAutomaticCapability($capability) {
- return null;
- }
-
}

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 15, 9:18 PM (1 w, 6 d ago)
Storage Engine
amazon-s3
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
phabricator/secure/gq/ol/kbemkymxw3igiaz6
Default Alt Text
D16831.id40534.diff (33 KB)

Event Timeline