[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/phortune/view/ -> PhortuneOrderTableView.php (source)

   1  <?php
   2  
   3  final class PhortuneOrderTableView extends AphrontView {
   4  
   5    private $carts;
   6    private $handles;
   7  
   8    public function setHandles(array $handles) {
   9      $this->handles = $handles;
  10      return $this;
  11    }
  12  
  13    public function getHandles() {
  14      return $this->handles;
  15    }
  16  
  17    public function setCarts(array $carts) {
  18      $this->carts = $carts;
  19      return $this;
  20    }
  21  
  22    public function getCarts() {
  23      return $this->carts;
  24    }
  25  
  26    public function render() {
  27      $carts = $this->getCarts();
  28      $handles = $this->getHandles();
  29      $viewer = $this->getUser();
  30  
  31      $rows = array();
  32      $rowc = array();
  33      foreach ($carts as $cart) {
  34        $cart_link = $handles[$cart->getPHID()]->renderLink();
  35        $purchases = $cart->getPurchases();
  36  
  37        if (count($purchases) == 1) {
  38          $purchase = head($purchases);
  39          $purchase_name = $handles[$purchase->getPHID()]->renderLink();
  40          $purchases = array();
  41        } else {
  42          $purchase_name = '';
  43        }
  44  
  45        $rowc[] = '';
  46        $rows[] = array(
  47          $cart->getID(),
  48          phutil_tag(
  49            'strong',
  50            array(),
  51            $cart_link),
  52          $purchase_name,
  53          phutil_tag(
  54            'strong',
  55            array(),
  56            $cart->getTotalPriceAsCurrency()->formatForDisplay()),
  57          PhortuneCart::getNameForStatus($cart->getStatus()),
  58          phabricator_datetime($cart->getDateModified(), $viewer),
  59        );
  60        foreach ($purchases as $purchase) {
  61          $id = $purchase->getID();
  62  
  63          $price = $purchase->getTotalPriceAsCurrency()->formatForDisplay();
  64  
  65          $rowc[] = '';
  66          $rows[] = array(
  67            '',
  68            $handles[$purchase->getPHID()]->renderLink(),
  69            $price,
  70            '',
  71            '',
  72          );
  73        }
  74      }
  75  
  76      $table = id(new AphrontTableView($rows))
  77        ->setRowClasses($rowc)
  78        ->setHeaders(
  79          array(
  80            pht('ID'),
  81            pht('Order'),
  82            pht('Purchase'),
  83            pht('Amount'),
  84            pht('Status'),
  85            pht('Updated'),
  86          ))
  87        ->setColumnClasses(
  88          array(
  89            '',
  90            '',
  91            'wide',
  92            'right',
  93            '',
  94            'right',
  95          ));
  96  
  97      return $table;
  98    }
  99  
 100  }


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