mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
Only display "Calendar" entry in user profile page menu on mobile when Calendar application is installed
Summary: https://we.phorge.it/source/phorge/browse/master/src/view/page/PhabricatorStandardPageView.php$908 tries to "find some navigational menu items to create a mobile navigation menu from" but does not succeed too much it seems: On a user profile page, that very code calls `buildApplicationMenu()` in `PhabricatorPeopleController` which calls `buildSideNavView()` in the same class. This code unconditionally displays a "Calendar" menu item, no matter if the Calendar application is installed or not. Thus check first to avoid offering a link ending up in a 404. For the time being this change renders the menu empty (apart from a link to the page we are already on) but that's more acceptable than all those tears shed by devastated users after clicking the Calendar menu item while being excited and full of anticipation, just to end up on a 404 page instead. Related: T15224 Test Plan: * As an admin, install/uninstall Calendar prototype application via http://phorge.localhost/applications/view/PhabricatorCalendarApplication/ * Go to a user profile page like http://phorge.localhost/username/ on a screen with 920px or less width and click the hamburger menu item in the upper right corner. Check/click the "Calendar" entry. Reviewers: O1 Blessed Committers, valerio.bozzolan Reviewed By: O1 Blessed Committers, valerio.bozzolan Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Differential Revision: https://we.phorge.it/D25683
This commit is contained in:
parent
d2bca2f32d
commit
a83ba95445
1 changed files with 3 additions and 1 deletions
|
@ -16,9 +16,11 @@ abstract class PhabricatorPeopleController extends PhabricatorController {
|
|||
if ($name) {
|
||||
$nav->setBaseURI(new PhutilURI('/p/'));
|
||||
$nav->addFilter("{$name}/", $name);
|
||||
if (id(new PhabricatorCalendarApplication())->isInstalled()) {
|
||||
$nav->addFilter("{$name}/calendar/", pht('Calendar'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$name) {
|
||||
$viewer = $this->getRequest()->getUser();
|
||||
|
|
Loading…
Reference in a new issue