[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/passphrase/query/ -> PassphraseCredentialSearchEngine.php (source)

   1  <?php
   2  
   3  final class PassphraseCredentialSearchEngine
   4    extends PhabricatorApplicationSearchEngine {
   5  
   6    public function getResultTypeDescription() {
   7      return pht('Passphrase Credentials');
   8    }
   9  
  10    public function getApplicationClassName() {
  11      return 'PhabricatorPassphraseApplication';
  12    }
  13  
  14    public function buildSavedQueryFromRequest(AphrontRequest $request) {
  15      $saved = new PhabricatorSavedQuery();
  16  
  17      $saved->setParameter(
  18        'isDestroyed',
  19        $this->readBoolFromRequest($request, 'isDestroyed'));
  20  
  21      return $saved;
  22    }
  23  
  24    public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) {
  25      $query = id(new PassphraseCredentialQuery());
  26  
  27      $destroyed = $saved->getParameter('isDestroyed');
  28      if ($destroyed !== null) {
  29        $query->withIsDestroyed($destroyed);
  30      }
  31  
  32      return $query;
  33    }
  34  
  35    public function buildSearchForm(
  36      AphrontFormView $form,
  37      PhabricatorSavedQuery $saved_query) {
  38  
  39      $form->appendChild(
  40        id(new AphrontFormSelectControl())
  41          ->setName('isDestroyed')
  42          ->setLabel(pht('Status'))
  43          ->setValue($this->getBoolFromQuery($saved_query, 'isDestroyed'))
  44          ->setOptions(
  45            array(
  46              '' => pht('Show All Credentials'),
  47              'false' => pht('Show Only Active Credentials'),
  48              'true' => pht('Show Only Destroyed Credentials'),
  49            )));
  50    }
  51  
  52    protected function getURI($path) {
  53      return '/passphrase/'.$path;
  54    }
  55  
  56    public function getBuiltinQueryNames() {
  57      return array(
  58        'active' => pht('Active Credentials'),
  59        'all' => pht('All Credentials'),
  60      );
  61    }
  62  
  63    public function buildSavedQueryFromBuiltin($query_key) {
  64      $query = $this->newSavedQuery();
  65      $query->setQueryKey($query_key);
  66  
  67      switch ($query_key) {
  68        case 'all':
  69          return $query;
  70        case 'active':
  71          return $query->setParameter('isDestroyed', false);
  72      }
  73  
  74      return parent::buildSavedQueryFromBuiltin($query_key);
  75    }
  76  
  77    protected function renderResultList(
  78      array $credentials,
  79      PhabricatorSavedQuery $query,
  80      array $handles) {
  81      assert_instances_of($credentials, 'PassphraseCredential');
  82  
  83      $viewer = $this->requireViewer();
  84  
  85      $list = new PHUIObjectItemListView();
  86      $list->setUser($viewer);
  87      foreach ($credentials as $credential) {
  88  
  89        $item = id(new PHUIObjectItemView())
  90          ->setObjectName('K'.$credential->getID())
  91          ->setHeader($credential->getName())
  92          ->setHref('/K'.$credential->getID())
  93          ->setObject($credential);
  94  
  95        $item->addAttribute(
  96          pht('Login: %s', $credential->getUsername()));
  97  
  98        if ($credential->getIsDestroyed()) {
  99          $item->addIcon('fa-ban', pht('Destroyed'));
 100          $item->setDisabled(true);
 101        }
 102  
 103        $type = PassphraseCredentialType::getTypeByConstant(
 104          $credential->getCredentialType());
 105        if ($type) {
 106          $item->addIcon('fa-wrench', $type->getCredentialTypeName());
 107        }
 108  
 109        $list->addItem($item);
 110      }
 111  
 112      return $list;
 113    }
 114  
 115  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1