[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/phortune/controller/ -> PhortuneAccountListController.php (source)

   1  <?php
   2  
   3  final class PhortuneAccountListController extends PhortuneController {
   4  
   5    public function processRequest() {
   6      $request = $this->getRequest();
   7      $viewer = $request->getUser();
   8  
   9      $accounts = id(new PhortuneAccountQuery())
  10        ->setViewer($viewer)
  11        ->withMemberPHIDs(array($viewer->getPHID()))
  12        ->requireCapabilities(
  13          array(
  14            PhabricatorPolicyCapability::CAN_VIEW,
  15            PhabricatorPolicyCapability::CAN_EDIT,
  16          ))
  17        ->execute();
  18  
  19      $merchants = id(new PhortuneMerchantQuery())
  20        ->setViewer($viewer)
  21        ->withMemberPHIDs(array($viewer->getPHID()))
  22        ->execute();
  23  
  24      $title = pht('Accounts');
  25  
  26      $crumbs = $this->buildApplicationCrumbs();
  27      $crumbs->addTextCrumb(pht('Accounts'));
  28  
  29      $payment_list = id(new PHUIObjectItemListView())
  30        ->setUser($viewer)
  31        ->setNoDataString(
  32          pht(
  33            'You are not a member of any payment accounts. Payment '.
  34            'accounts are used to make purchases.'));
  35  
  36      foreach ($accounts as $account) {
  37        $item = id(new PHUIObjectItemView())
  38          ->setObjectName(pht('Account %d', $account->getID()))
  39          ->setHeader($account->getName())
  40          ->setHref($this->getApplicationURI($account->getID().'/'))
  41          ->setObject($account);
  42  
  43        $payment_list->addItem($item);
  44      }
  45  
  46      $payment_header = id(new PHUIHeaderView())
  47        ->setHeader(pht('Payment Accounts'))
  48        ->addActionLink(
  49          id(new PHUIButtonView())
  50            ->setTag('a')
  51            ->setHref($this->getApplicationURI('account/edit/'))
  52            ->setIcon(
  53              id(new PHUIIconView())
  54                ->setIconFont('fa-plus'))
  55            ->setText(pht('Create Account')));
  56  
  57      $payment_box = id(new PHUIObjectBoxView())
  58        ->setHeader($payment_header)
  59        ->appendChild($payment_list);
  60  
  61      $merchant_list = id(new PHUIObjectItemListView())
  62        ->setUser($viewer)
  63        ->setNoDataString(
  64          pht(
  65            'You do not control any merchant accounts. Merchant accounts are '.
  66            'used to receive payments.'));
  67  
  68      foreach ($merchants as $merchant) {
  69        $item = id(new PHUIObjectItemView())
  70          ->setObjectName(pht('Merchant %d', $merchant->getID()))
  71          ->setHeader($merchant->getName())
  72          ->setHref($this->getApplicationURI('/merchant/'.$merchant->getID().'/'))
  73          ->setObject($merchant);
  74  
  75        $merchant_list->addItem($item);
  76      }
  77  
  78      $merchant_header = id(new PHUIHeaderView())
  79        ->setHeader(pht('Merchant Accounts'))
  80        ->addActionLink(
  81          id(new PHUIButtonView())
  82            ->setTag('a')
  83            ->setHref($this->getApplicationURI('merchant/'))
  84            ->setIcon(
  85              id(new PHUIIconView())
  86                ->setIconFont('fa-list'))
  87            ->setText(pht('View All Merchants')));
  88  
  89      $merchant_box = id(new PHUIObjectBoxView())
  90        ->setHeader($merchant_header)
  91        ->appendChild($merchant_list);
  92  
  93      return $this->buildApplicationPage(
  94        array(
  95          $crumbs,
  96          $payment_box,
  97          $merchant_box,
  98        ),
  99        array(
 100          'title' => $title,
 101        ));
 102    }
 103  
 104  }


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