Differential D19992 Diff 47751 src/applications/auth/controller/message/PhabricatorAuthMessageListController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/auth/controller/message/PhabricatorAuthMessageListController.php
- This file was added.
| <?php | |||||
| final class PhabricatorAuthMessageListController | |||||
| extends PhabricatorAuthProviderController { | |||||
| public function handleRequest(AphrontRequest $request) { | |||||
| $viewer = $this->getViewer(); | |||||
| $can_manage = $this->hasApplicationCapability( | |||||
| AuthManageProvidersCapability::CAPABILITY); | |||||
| $types = PhabricatorAuthMessageType::getAllMessageTypes(); | |||||
| $messages = id(new PhabricatorAuthMessageQuery()) | |||||
| ->setViewer($viewer) | |||||
| ->execute(); | |||||
| $messages = mpull($messages, null, 'getMessageKey'); | |||||
| $list = new PHUIObjectItemListView(); | |||||
| foreach ($types as $type) { | |||||
| $message = idx($messages, $type->getMessageTypeKey()); | |||||
| if ($message) { | |||||
| $href = $message->getURI(); | |||||
| $name = $message->getMessageTypeDisplayName(); | |||||
| } else { | |||||
| $href = '/auth/message/edit/?messageKey='.$type->getMessageTypeKey(); | |||||
| $name = $type->getDisplayName(); | |||||
| } | |||||
| $item = id(new PHUIObjectItemView()) | |||||
| ->setHeader($name) | |||||
| ->setHref($href) | |||||
| ->addAttribute($type->getShortDescription()); | |||||
| if ($message) { | |||||
| $item->addIcon('fa-circle', pht('Customized')); | |||||
| } else { | |||||
| $item->addIcon('fa-circle-o grey', pht('Default')); | |||||
| } | |||||
| $list->addItem($item); | |||||
| } | |||||
| $crumbs = $this->buildApplicationCrumbs() | |||||
| ->addTextCrumb(pht('Messages')) | |||||
| ->setBorder(true); | |||||
| $list->setFlush(true); | |||||
| $list = id(new PHUIObjectBoxView()) | |||||
| ->setHeaderText(pht('Auth Messages')) | |||||
| ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | |||||
| ->appendChild($list); | |||||
| $title = pht('Auth Messages'); | |||||
| $header = id(new PHUIHeaderView()) | |||||
| ->setHeader($title) | |||||
| ->setHeaderIcon('fa-commenting-o'); | |||||
| $view = id(new PHUITwoColumnView()) | |||||
| ->setHeader($header) | |||||
| ->setFooter( | |||||
| array( | |||||
| $list, | |||||
| )); | |||||
| $nav = $this->newNavigation() | |||||
| ->setCrumbs($crumbs) | |||||
| ->appendChild($view); | |||||
| $nav->selectFilter('message'); | |||||
| return $this->newPage() | |||||
| ->setTitle($title) | |||||
| ->appendChild($nav); | |||||
| } | |||||
| } | |||||