1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-26 16:52:41 +01:00

Fix several issues with "Logout"

Summary:
Ref T1536.

  - When we render a dialog on a page by itself, put it on a dust background.
  - Currently, we render "Logout" in two different places. Stop doing that.
  - Make sure the surviving one has workflow so we get a modal ajax dialog if possible.

Test Plan: {F46731}

Reviewers: chad, btrahan

Reviewed By: chad

CC: aran

Maniphest Tasks: T1536

Differential Revision: https://secure.phabricator.com/D6226
This commit is contained in:
epriestley 2013-06-18 11:05:28 -07:00
parent 9c29174bb4
commit fe29b27582
3 changed files with 11 additions and 20 deletions

View file

@ -21,12 +21,13 @@ final class PhabricatorApplicationAuth extends PhabricatorApplication {
$items = array(); $items = array();
if ($user->isLoggedIn()) { if ($user->isLoggedIn()) {
$item = new PHUIListItemView(); $item = id(new PHUIListItemView())
$item->setName(pht('Log Out')); ->addClass('core-menu-item')
$item->setIcon('power'); ->setName(pht('Log Out'))
$item->setWorkflow(true); ->setIcon('power')
$item->setHref('/logout/'); ->setWorkflow(true)
$item->setSelected(($controller instanceof PhabricatorLogoutController)); ->setHref('/logout/')
->setSelected(($controller instanceof PhabricatorLogoutController));
$items[] = $item; $items[] = $item;
} }

View file

@ -224,6 +224,7 @@ abstract class PhabricatorController extends AphrontController {
$view->appendChild(hsprintf( $view->appendChild(hsprintf(
'<div style="padding: 2em 0;">%s</div>', '<div style="padding: 2em 0;">%s</div>',
$response->buildResponseString())); $response->buildResponseString()));
$view->setDust(true);
$response = new AphrontWebpageResponse(); $response = new AphrontWebpageResponse();
$response->setContent($view->render()); $response->setContent($view->render());
return $response; return $response;

View file

@ -146,13 +146,11 @@ final class PhabricatorMainMenuView extends AphrontView {
$actions = array(); $actions = array();
foreach ($applications as $application) { foreach ($applications as $application) {
if ($application->shouldAppearInLaunchView()) {
$app_actions = $application->buildMainMenuItems($user, $controller); $app_actions = $application->buildMainMenuItems($user, $controller);
foreach ($app_actions as $action) { foreach ($app_actions as $action) {
$actions[] = $action; $actions[] = $action;
} }
} }
}
$view = $this->getApplicationMenu(); $view = $this->getApplicationMenu();
@ -181,15 +179,6 @@ final class PhabricatorMainMenuView extends AphrontView {
} }
} }
if ($user->isLoggedIn()) {
$view->addMenuItem(
id(new PHUIListItemView())
->addClass('core-menu-item')
->setName(pht('Log Out'))
->setHref('/logout/')
->appendChild($this->renderMenuIcon('power-light-large')));
}
return $view; return $view;
} }