From 6df1a024137cf50c66a564c6583f6b0366aaa0b7 Mon Sep 17 00:00:00 2001 From: epriestley Date: Tue, 3 Jun 2014 15:47:27 -0700 Subject: [PATCH] (Redesign) Clean up older "Tile" code Summary: This does some backend cleanup of the tile stuff, and some general cleanup of other application things: - Users who haven't customized preferences get a small, specific set of pinned applications: Differential, Maniphest, Diffusion, Audit, Phriction, Projects (and, for administrators, Auth, Config and People). - Old tile size methods are replaced with `isPinnnedByDefault()`. - Shortened some short descriptions. - `shouldAppearInLaunchView()` replaced by less ambiguous `isLaunchable()`. - Added a marker for third-party / extension applications. Test Plan: Faked away my preferences and viewed the home page, saw a smaller set of default pins. Reviewers: chad Reviewed By: chad Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D9358 --- .../PhabricatorApplicationAudit.php | 8 +- .../PhabricatorApplicationAuth.php | 6 +- .../base/PhabricatorApplication.php | 88 ++++++++++--------- .../__tests__/PhabricatorApplicationTest.php | 8 +- .../PhabricatorApplicationConduit.php | 2 +- .../PhabricatorApplicationConfig.php | 4 + .../PhabricatorApplicationDashboard.php | 8 +- .../PhabricatorApplicationDifferential.php | 8 +- .../PhabricatorApplicationDiffusion.php | 8 +- .../PhabricatorApplicationDoorkeeper.php | 2 +- .../PhabricatorApplicationFlags.php | 2 +- .../PhabricatorApplicationHarbormaster.php | 2 +- .../PhabricatorApplicationHome.php | 2 +- .../controller/PhabricatorHomeController.php | 8 -- .../PhabricatorApplicationManiphest.php | 4 +- .../PhabricatorApplicationApplications.php | 6 ++ .../meta/query/PhabricatorAppSearchEngine.php | 6 +- .../query/PhabricatorApplicationQuery.php | 2 +- .../PhabricatorApplicationMetaMTA.php | 2 +- .../PhabricatorApplicationNotifications.php | 2 +- .../PhabricatorApplicationNuance.php | 2 +- .../PhabricatorApplicationOwners.php | 2 +- .../PhabricatorApplicationPassphrase.php | 2 +- .../PhabricatorApplicationPeople.php | 4 + .../PhabricatorApplicationPhriction.php | 4 + .../PhabricatorApplicationPolicy.php | 2 +- .../PhabricatorApplicationProject.php | 6 +- .../PhabricatorApplicationSearch.php | 2 +- .../PhabricatorApplicationSettings.php | 2 +- .../storage/PhabricatorUserPreferences.php | 9 +- .../PhabricatorApplicationSubscriptions.php | 2 +- .../PhabricatorApplicationTransactions.php | 2 +- .../PhabricatorApplicationTypeahead.php | 2 +- .../PhabricatorApplicationUIExamples.php | 2 +- 34 files changed, 128 insertions(+), 93 deletions(-) diff --git a/src/applications/audit/application/PhabricatorApplicationAudit.php b/src/applications/audit/application/PhabricatorApplicationAudit.php index ef85b7c0fc..e09d8a6db5 100644 --- a/src/applications/audit/application/PhabricatorApplicationAudit.php +++ b/src/applications/audit/application/PhabricatorApplicationAudit.php @@ -14,6 +14,10 @@ final class PhabricatorApplicationAudit extends PhabricatorApplication { return pht('Browse and Audit Commits'); } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return true; + } + public function getHelpURI() { return PhabricatorEnv::getDoclink('Audit User Guide'); } @@ -34,10 +38,6 @@ final class PhabricatorApplicationAudit extends PhabricatorApplication { ); } - public function getApplicationGroup() { - return self::GROUP_CORE; - } - public function getApplicationOrder() { return 0.130; } diff --git a/src/applications/auth/application/PhabricatorApplicationAuth.php b/src/applications/auth/application/PhabricatorApplicationAuth.php index 3c51aa9bc0..991849ffe8 100644 --- a/src/applications/auth/application/PhabricatorApplicationAuth.php +++ b/src/applications/auth/application/PhabricatorApplicationAuth.php @@ -14,8 +14,12 @@ final class PhabricatorApplicationAuth extends PhabricatorApplication { return 'authentication'; } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return $viewer->getIsAdmin(); + } + public function getShortDescription() { - return pht('Configure Login and Registration'); + return pht('Login/Registration'); } public function getHelpURI() { diff --git a/src/applications/base/PhabricatorApplication.php b/src/applications/base/PhabricatorApplication.php index 004a38e44a..a7956fb9db 100644 --- a/src/applications/base/PhabricatorApplication.php +++ b/src/applications/base/PhabricatorApplication.php @@ -16,11 +16,6 @@ abstract class PhabricatorApplication const GROUP_ADMIN = 'admin'; const GROUP_DEVELOPER = 'developer'; - const TILE_INVISIBLE = 'invisible'; - const TILE_HIDE = 'hide'; - const TILE_SHOW = 'show'; - const TILE_FULL = 'full'; - public static function getApplicationGroups() { return array( self::GROUP_CORE => pht('Core Applications'), @@ -30,20 +25,10 @@ abstract class PhabricatorApplication ); } - public static function getTileDisplayName($constant) { - $names = array( - self::TILE_INVISIBLE => pht('Invisible'), - self::TILE_HIDE => pht('Hidden'), - self::TILE_SHOW => pht('Show Small Tile'), - self::TILE_FULL => pht('Show Large Tile'), - ); - return idx($names, $constant); - } - - /* -( Application Information )-------------------------------------------- */ + public function getName() { return substr(get_class($this), strlen('PhabricatorApplication')); } @@ -68,21 +53,63 @@ abstract class PhabricatorApplication return empty($uninstalled[get_class($this)]); } + public function isBeta() { return false; } + /** - * Return true if this application should not appear in application lists in - * the UI. Primarily intended for unit test applications or other + * Return `true` if this application should never appear in application lists + * in the UI. Primarily intended for unit test applications or other * pseudo-applications. * + * Few applications should be unlisted. For most applications, use + * @{method:isLaunchable} to hide them from main launch views instead. + * * @return bool True to remove application from UI lists. */ public function isUnlisted() { return false; } + + /** + * Return `true` if this application is a normal application with a base + * URI and a web interface. + * + * Launchable applications can be pinned to the home page, and show up in the + * "Launcher" view of the Applications application. Making an application + * unlauncahble prevents pinning and hides it from this view. + * + * Usually, an application should be marked unlaunchable if: + * + * - it is available on every page anyway (like search); or + * - it does not have a web interface (like subscriptions); or + * - it is still pre-release and being intentionally buried. + * + * To hide applications more completely, use @{method:isUnlisted}. + * + * @return bool True if the application is launchable. + */ + public function isLaunchable() { + return true; + } + + + /** + * Return `true` if this application should be pinned by default. + * + * Users who have not yet set preferences see a default list of applications. + * + * @param PhabricatorUser User viewing the pinned application list. + * @return bool True if this application should be pinned by default. + */ + public function isPinnedByDefault(PhabricatorUser $viewer) { + return false; + } + + /** * Returns true if an application is first-party (developed by Phacility) * and false otherwise. @@ -113,7 +140,7 @@ abstract class PhabricatorApplication } public function getTypeaheadURI() { - return $this->getBaseURI(); + return $this->isLaunchable() ? $this->getBaseURI() : null; } public function getBaseURI() { @@ -132,10 +159,6 @@ abstract class PhabricatorApplication return 'application'; } - public function shouldAppearInLaunchView() { - return true; - } - public function getApplicationOrder() { return PHP_INT_MAX; } @@ -160,25 +183,6 @@ abstract class PhabricatorApplication return array(); } - public function getDefaultTileDisplay(PhabricatorUser $user) { - switch ($this->getApplicationGroup()) { - case self::GROUP_CORE: - return self::TILE_FULL; - case self::GROUP_UTILITIES: - case self::GROUP_DEVELOPER: - return self::TILE_HIDE; - case self::GROUP_ADMIN: - if ($user->getIsAdmin()) { - return self::TILE_SHOW; - } else { - return self::TILE_INVISIBLE; - } - break; - default: - return self::TILE_SHOW; - } - } - public function getRemarkupRules() { return array(); } diff --git a/src/applications/base/controller/__tests__/PhabricatorApplicationTest.php b/src/applications/base/controller/__tests__/PhabricatorApplicationTest.php index d5e993bc4f..7366b68fc1 100644 --- a/src/applications/base/controller/__tests__/PhabricatorApplicationTest.php +++ b/src/applications/base/controller/__tests__/PhabricatorApplicationTest.php @@ -8,6 +8,10 @@ final class PhabricatorApplicationTest extends PhabricatorApplication { return true; } + public function isLaunchable() { + return false; + } + public function reset() { $this->policies = array(); } @@ -21,10 +25,6 @@ final class PhabricatorApplicationTest extends PhabricatorApplication { return idx($this->policies, $capability, parent::getPolicy($capability)); } - public function shouldAppearInLaunchView() { - return false; - } - public function canUninstall() { return false; } diff --git a/src/applications/conduit/application/PhabricatorApplicationConduit.php b/src/applications/conduit/application/PhabricatorApplicationConduit.php index e50778e30f..c73230ceee 100644 --- a/src/applications/conduit/application/PhabricatorApplicationConduit.php +++ b/src/applications/conduit/application/PhabricatorApplicationConduit.php @@ -19,7 +19,7 @@ final class PhabricatorApplicationConduit extends PhabricatorApplication { } public function getShortDescription() { - return pht('Phabricator Developer API Console'); + return pht('Developer API'); } public function getTitleGlyph() { diff --git a/src/applications/config/application/PhabricatorApplicationConfig.php b/src/applications/config/application/PhabricatorApplicationConfig.php index aa3756c438..dbca8fea76 100644 --- a/src/applications/config/application/PhabricatorApplicationConfig.php +++ b/src/applications/config/application/PhabricatorApplicationConfig.php @@ -10,6 +10,10 @@ final class PhabricatorApplicationConfig extends PhabricatorApplication { return 'setup'; } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return $viewer->getIsAdmin(); + } + public function getTitleGlyph() { return "\xE2\x98\xBA"; } diff --git a/src/applications/dashboard/application/PhabricatorApplicationDashboard.php b/src/applications/dashboard/application/PhabricatorApplicationDashboard.php index 65704afd98..a667a4d5bb 100644 --- a/src/applications/dashboard/application/PhabricatorApplicationDashboard.php +++ b/src/applications/dashboard/application/PhabricatorApplicationDashboard.php @@ -48,7 +48,13 @@ final class PhabricatorApplicationDashboard extends PhabricatorApplication { ); } - public function shouldAppearInLaunchView() { + public function isBeta() { + return true; + } + + public function isLaunchable() { + // TODO: This is just concealing the application from launch views for + // now since it's not really beta yet. return false; } diff --git a/src/applications/differential/application/PhabricatorApplicationDifferential.php b/src/applications/differential/application/PhabricatorApplicationDifferential.php index b2816d6ab9..2e6f07cdad 100644 --- a/src/applications/differential/application/PhabricatorApplicationDifferential.php +++ b/src/applications/differential/application/PhabricatorApplicationDifferential.php @@ -14,6 +14,10 @@ final class PhabricatorApplicationDifferential extends PhabricatorApplication { return 'differential'; } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return true; + } + public function getHelpURI() { return PhabricatorEnv::getDoclink('Differential User Guide'); } @@ -74,10 +78,6 @@ EOTEXT ); } - public function getApplicationGroup() { - return self::GROUP_CORE; - } - public function getApplicationOrder() { return 0.100; } diff --git a/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php b/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php index 15865e5ceb..ad6cb18992 100644 --- a/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php +++ b/src/applications/diffusion/application/PhabricatorApplicationDiffusion.php @@ -14,6 +14,10 @@ final class PhabricatorApplicationDiffusion extends PhabricatorApplication { return 'diffusion'; } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return true; + } + public function getHelpURI() { return PhabricatorEnv::getDoclink('Diffusion User Guide'); } @@ -116,10 +120,6 @@ final class PhabricatorApplicationDiffusion extends PhabricatorApplication { ); } - public function getApplicationGroup() { - return self::GROUP_CORE; - } - public function getApplicationOrder() { return 0.120; } diff --git a/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php b/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php index d1e0281765..ed8ab32444 100644 --- a/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php +++ b/src/applications/doorkeeper/application/PhabricatorApplicationDoorkeeper.php @@ -6,7 +6,7 @@ final class PhabricatorApplicationDoorkeeper extends PhabricatorApplication { return false; } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/flag/application/PhabricatorApplicationFlags.php b/src/applications/flag/application/PhabricatorApplicationFlags.php index e9bee801d1..008aced856 100644 --- a/src/applications/flag/application/PhabricatorApplicationFlags.php +++ b/src/applications/flag/application/PhabricatorApplicationFlags.php @@ -3,7 +3,7 @@ final class PhabricatorApplicationFlags extends PhabricatorApplication { public function getShortDescription() { - return pht('Personal Bookmarks and Reminders'); + return pht('Personal Bookmarks'); } public function getBaseURI() { diff --git a/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php b/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php index 699f58077f..5b28a6eb28 100644 --- a/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php +++ b/src/applications/harbormaster/application/PhabricatorApplicationHarbormaster.php @@ -7,7 +7,7 @@ final class PhabricatorApplicationHarbormaster extends PhabricatorApplication { } public function getShortDescription() { - return pht('Builds and Continuous Integration'); + return pht('Build/CI'); } public function getIconName() { diff --git a/src/applications/home/application/PhabricatorApplicationHome.php b/src/applications/home/application/PhabricatorApplicationHome.php index b2cee3b24e..9c487bd2a5 100644 --- a/src/applications/home/application/PhabricatorApplicationHome.php +++ b/src/applications/home/application/PhabricatorApplicationHome.php @@ -23,7 +23,7 @@ final class PhabricatorApplicationHome extends PhabricatorApplication { ); } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/home/controller/PhabricatorHomeController.php b/src/applications/home/controller/PhabricatorHomeController.php index b3295332dc..8c1038e031 100644 --- a/src/applications/home/controller/PhabricatorHomeController.php +++ b/src/applications/home/controller/PhabricatorHomeController.php @@ -28,14 +28,6 @@ abstract class PhabricatorHomeController extends PhabricatorController { ->withLaunchable(true) ->execute(); - foreach ($applications as $key => $application) { - $invisible = PhabricatorApplication::TILE_INVISIBLE; - if ($application->getDefaultTileDisplay($user) == $invisible) { - // Remove invisible applications (e.g., admin apps for non-admins). - unset($applications[$key]); - } - } - $pinned = $user->loadPreferences()->getPinnedApplications( $applications, $user); diff --git a/src/applications/maniphest/application/PhabricatorApplicationManiphest.php b/src/applications/maniphest/application/PhabricatorApplicationManiphest.php index 3bb93aeb77..d88570a634 100644 --- a/src/applications/maniphest/application/PhabricatorApplicationManiphest.php +++ b/src/applications/maniphest/application/PhabricatorApplicationManiphest.php @@ -14,8 +14,8 @@ final class PhabricatorApplicationManiphest extends PhabricatorApplication { return 'maniphest'; } - public function getApplicationGroup() { - return self::GROUP_CORE; + public function isPinnedByDefault(PhabricatorUser $viewer) { + return true; } public function getApplicationOrder() { diff --git a/src/applications/meta/application/PhabricatorApplicationApplications.php b/src/applications/meta/application/PhabricatorApplicationApplications.php index 00ba761645..fb9ffb5bf0 100644 --- a/src/applications/meta/application/PhabricatorApplicationApplications.php +++ b/src/applications/meta/application/PhabricatorApplicationApplications.php @@ -6,6 +6,12 @@ final class PhabricatorApplicationApplications extends PhabricatorApplication { return false; } + public function isLaunchable() { + // This application is launchable in the traditional sense, but showing it + // on the application launch list is confusing. + return false; + } + public function getBaseURI() { return '/applications/'; } diff --git a/src/applications/meta/query/PhabricatorAppSearchEngine.php b/src/applications/meta/query/PhabricatorAppSearchEngine.php index 4f26a80859..77df88ecb0 100644 --- a/src/applications/meta/query/PhabricatorAppSearchEngine.php +++ b/src/applications/meta/query/PhabricatorAppSearchEngine.php @@ -226,13 +226,17 @@ final class PhabricatorAppSearchEngine } if (!$application->isInstalled()) { - $item->addIcon('delete', pht('Uninstalled')); + $item->addIcon('fa-times', pht('Uninstalled')); } if ($application->isBeta()) { $item->addIcon('fa-star-half-o grey', pht('Beta')); } + if (!$application->isFirstParty()) { + $item->addIcon('fa-puzzle-piece', pht('Extension')); + } + $list->addItem($item); } diff --git a/src/applications/meta/query/PhabricatorApplicationQuery.php b/src/applications/meta/query/PhabricatorApplicationQuery.php index 366a29d422..ebbdd8bb30 100644 --- a/src/applications/meta/query/PhabricatorApplicationQuery.php +++ b/src/applications/meta/query/PhabricatorApplicationQuery.php @@ -125,7 +125,7 @@ final class PhabricatorApplicationQuery if ($this->launchable !== null) { foreach ($apps as $key => $app) { - if ($app->shouldAppearInLaunchView() != $this->launchable) { + if ($app->isLaunchable() != $this->launchable) { unset($apps[$key]); } } diff --git a/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php b/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php index 70605eb1a1..4a42a6a39f 100644 --- a/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php +++ b/src/applications/metamta/application/PhabricatorApplicationMetaMTA.php @@ -22,7 +22,7 @@ final class PhabricatorApplicationMetaMTA extends PhabricatorApplication { return false; } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/notification/application/PhabricatorApplicationNotifications.php b/src/applications/notification/application/PhabricatorApplicationNotifications.php index 1de16b76cd..19bf254992 100644 --- a/src/applications/notification/application/PhabricatorApplicationNotifications.php +++ b/src/applications/notification/application/PhabricatorApplicationNotifications.php @@ -24,7 +24,7 @@ final class PhabricatorApplicationNotifications extends PhabricatorApplication { ); } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/nuance/application/PhabricatorApplicationNuance.php b/src/applications/nuance/application/PhabricatorApplicationNuance.php index 5bf137b814..5543255105 100644 --- a/src/applications/nuance/application/PhabricatorApplicationNuance.php +++ b/src/applications/nuance/application/PhabricatorApplicationNuance.php @@ -14,7 +14,7 @@ final class PhabricatorApplicationNuance extends PhabricatorApplication { return true; } - public function shouldAppearInLaunchView() { + public function isLaunchable() { // try to hide this even more for now return false; } diff --git a/src/applications/owners/application/PhabricatorApplicationOwners.php b/src/applications/owners/application/PhabricatorApplicationOwners.php index 6412772236..19d3f1f6bc 100644 --- a/src/applications/owners/application/PhabricatorApplicationOwners.php +++ b/src/applications/owners/application/PhabricatorApplicationOwners.php @@ -11,7 +11,7 @@ final class PhabricatorApplicationOwners extends PhabricatorApplication { } public function getShortDescription() { - return pht('Track Ownership of Source Code'); + return pht('Own Source Code'); } public function getTitleGlyph() { diff --git a/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php b/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php index dedeb505b8..a33a44cf77 100644 --- a/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php +++ b/src/applications/passphrase/application/PhabricatorApplicationPassphrase.php @@ -7,7 +7,7 @@ final class PhabricatorApplicationPassphrase extends PhabricatorApplication { } public function getShortDescription() { - return pht('Store Passwords and Credentials'); + return pht('Credential Store'); } public function getIconName() { diff --git a/src/applications/people/application/PhabricatorApplicationPeople.php b/src/applications/people/application/PhabricatorApplicationPeople.php index aebf1383d7..37a501903d 100644 --- a/src/applications/people/application/PhabricatorApplicationPeople.php +++ b/src/applications/people/application/PhabricatorApplicationPeople.php @@ -18,6 +18,10 @@ final class PhabricatorApplicationPeople extends PhabricatorApplication { return 'people'; } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return $viewer->getIsAdmin(); + } + public function getFlavorText() { return pht('Sort of a social utility.'); } diff --git a/src/applications/phriction/application/PhabricatorApplicationPhriction.php b/src/applications/phriction/application/PhabricatorApplicationPhriction.php index e6fc014ec7..b66d6c9c49 100644 --- a/src/applications/phriction/application/PhabricatorApplicationPhriction.php +++ b/src/applications/phriction/application/PhabricatorApplicationPhriction.php @@ -14,6 +14,10 @@ final class PhabricatorApplicationPhriction extends PhabricatorApplication { return 'phriction'; } + public function isPinnedByDefault(PhabricatorUser $viewer) { + return true; + } + public function getHelpURI() { return PhabricatorEnv::getDoclink('Phriction User Guide'); } diff --git a/src/applications/policy/application/PhabricatorApplicationPolicy.php b/src/applications/policy/application/PhabricatorApplicationPolicy.php index 7d0ff9df2a..68dbbea1d6 100644 --- a/src/applications/policy/application/PhabricatorApplicationPolicy.php +++ b/src/applications/policy/application/PhabricatorApplicationPolicy.php @@ -2,7 +2,7 @@ final class PhabricatorApplicationPolicy extends PhabricatorApplication { - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/project/application/PhabricatorApplicationProject.php b/src/applications/project/application/PhabricatorApplicationProject.php index 15268a75c1..998c076353 100644 --- a/src/applications/project/application/PhabricatorApplicationProject.php +++ b/src/applications/project/application/PhabricatorApplicationProject.php @@ -7,7 +7,11 @@ final class PhabricatorApplicationProject extends PhabricatorApplication { } public function getShortDescription() { - return pht('Create Groups, Tags, and Projects'); + return pht('Get Organized'); + } + + public function isPinnedByDefault(PhabricatorUser $viewer) { + return true; } public function getBaseURI() { diff --git a/src/applications/search/application/PhabricatorApplicationSearch.php b/src/applications/search/application/PhabricatorApplicationSearch.php index c1b73f7446..8a47888d9b 100644 --- a/src/applications/search/application/PhabricatorApplicationSearch.php +++ b/src/applications/search/application/PhabricatorApplicationSearch.php @@ -22,7 +22,7 @@ final class PhabricatorApplicationSearch extends PhabricatorApplication { return 'search'; } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/settings/application/PhabricatorApplicationSettings.php b/src/applications/settings/application/PhabricatorApplicationSettings.php index a4028f6b9a..0ea57e90a0 100644 --- a/src/applications/settings/application/PhabricatorApplicationSettings.php +++ b/src/applications/settings/application/PhabricatorApplicationSettings.php @@ -18,7 +18,7 @@ final class PhabricatorApplicationSettings extends PhabricatorApplication { return false; } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/settings/storage/PhabricatorUserPreferences.php b/src/applications/settings/storage/PhabricatorUserPreferences.php index bdafbb588c..78e006089b 100644 --- a/src/applications/settings/storage/PhabricatorUserPreferences.php +++ b/src/applications/settings/storage/PhabricatorUserPreferences.php @@ -66,16 +66,19 @@ final class PhabricatorUserPreferences extends PhabricatorUserDAO { $pref_tiles = PhabricatorUserPreferences::PREFERENCE_APP_TILES; $tiles = $this->getPreference($pref_tiles, array()); + $full_tile = 'full'; $large = array(); foreach ($apps as $app) { - $tile = $app->getDefaultTileDisplay($viewer); + $show = $app->isPinnedByDefault($viewer); + // TODO: This is legacy stuff, clean it up eventually. This approximately + // retains the old "tiles" preference. if (isset($tiles[get_class($app)])) { - $tile = $tiles[get_class($app)]; + $show = ($tiles[get_class($app)] == $full_tile); } - if ($tile == PhabricatorApplication::TILE_FULL) { + if ($show) { $large[] = get_class($app); } } diff --git a/src/applications/subscriptions/application/PhabricatorApplicationSubscriptions.php b/src/applications/subscriptions/application/PhabricatorApplicationSubscriptions.php index 21b32a7f28..585355002c 100644 --- a/src/applications/subscriptions/application/PhabricatorApplicationSubscriptions.php +++ b/src/applications/subscriptions/application/PhabricatorApplicationSubscriptions.php @@ -2,7 +2,7 @@ final class PhabricatorApplicationSubscriptions extends PhabricatorApplication { - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/transactions/application/PhabricatorApplicationTransactions.php b/src/applications/transactions/application/PhabricatorApplicationTransactions.php index 8dc14807f4..e2cf566b72 100644 --- a/src/applications/transactions/application/PhabricatorApplicationTransactions.php +++ b/src/applications/transactions/application/PhabricatorApplicationTransactions.php @@ -2,7 +2,7 @@ final class PhabricatorApplicationTransactions extends PhabricatorApplication { - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/typeahead/application/PhabricatorApplicationTypeahead.php b/src/applications/typeahead/application/PhabricatorApplicationTypeahead.php index 9571d9ad57..5a8a0b69f2 100644 --- a/src/applications/typeahead/application/PhabricatorApplicationTypeahead.php +++ b/src/applications/typeahead/application/PhabricatorApplicationTypeahead.php @@ -13,7 +13,7 @@ final class PhabricatorApplicationTypeahead extends PhabricatorApplication { ); } - public function shouldAppearInLaunchView() { + public function isLaunchable() { return false; } diff --git a/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php b/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php index e7774432a2..20390d9434 100644 --- a/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php +++ b/src/applications/uiexample/application/PhabricatorApplicationUIExamples.php @@ -7,7 +7,7 @@ final class PhabricatorApplicationUIExamples extends PhabricatorApplication { } public function getShortDescription() { - return pht('Phabricator Developer UI Examples'); + return pht('Developer UI Examples'); } public function getIconName() {