From 502c6f2d48162654e128fa7a84ca4f5fdbe5d6f6 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 14 Oct 2013 14:17:25 -0700 Subject: [PATCH] Render public content as "Public" in headers, not "Public (No Login Required)" Summary: Ref T603. Although I think the parenthetical is valuable when //setting// policies to make sure no one accidentally opens content up, it's super annoying in headers. This makes headers say "Public". Everything else still says "Public (No Login Required)". Test Plan: {F69469} Reviewers: chad, btrahan Reviewed By: chad CC: aran Maniphest Tasks: T603 Differential Revision: https://secure.phabricator.com/D7310 --- .../policy/query/PhabricatorPolicyQuery.php | 10 ++++++++++ .../policy/storage/PhabricatorPolicy.php | 13 +++++++++++++ src/view/phui/PHUIHeaderView.php | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/applications/policy/query/PhabricatorPolicyQuery.php b/src/applications/policy/query/PhabricatorPolicyQuery.php index 55569356b5..9a078abf3e 100644 --- a/src/applications/policy/query/PhabricatorPolicyQuery.php +++ b/src/applications/policy/query/PhabricatorPolicyQuery.php @@ -147,6 +147,7 @@ final class PhabricatorPolicyQuery ->setType(PhabricatorPolicyType::TYPE_GLOBAL) ->setPHID($constant) ->setName(self::getGlobalPolicyName($constant)) + ->setShortName(self::getGlobalPolicyShortName($constant)) ->makeEphemeral(); } @@ -168,6 +169,15 @@ final class PhabricatorPolicyQuery } } + private static function getGlobalPolicyShortName($policy) { + switch ($policy) { + case PhabricatorPolicies::POLICY_PUBLIC: + return pht('Public'); + default: + return null; + } + } + private function loadObjectPolicyPHIDs() { $phids = array(); $viewer = $this->getViewer(); diff --git a/src/applications/policy/storage/PhabricatorPolicy.php b/src/applications/policy/storage/PhabricatorPolicy.php index 1ad41b4577..d124a10e5e 100644 --- a/src/applications/policy/storage/PhabricatorPolicy.php +++ b/src/applications/policy/storage/PhabricatorPolicy.php @@ -8,6 +8,7 @@ final class PhabricatorPolicy const ACTION_DENY = 'deny'; private $name; + private $shortName; private $type; private $href; private $icon; @@ -106,6 +107,18 @@ final class PhabricatorPolicy return $this->name; } + public function setShortName($short_name) { + $this->shortName = $short_name; + return $this; + } + + public function getShortName() { + if ($this->shortName) { + return $this->shortName; + } + return $this->getName(); + } + public function setHref($href) { $this->href = $href; return $this; diff --git a/src/view/phui/PHUIHeaderView.php b/src/view/phui/PHUIHeaderView.php index 1c960c98a7..5bfb58785a 100644 --- a/src/view/phui/PHUIHeaderView.php +++ b/src/view/phui/PHUIHeaderView.php @@ -224,7 +224,7 @@ final class PHUIHeaderView extends AphrontView { 'href' => '/policy/explain/'.$phid.'/'.$view_capability.'/', 'sigil' => 'workflow', ), - $policy->getName()); + $policy->getShortName()); return array($icon, $link); }