Differential D20737 Diff 49450 src/applications/phortune/controller/external/PhortuneExternalOverviewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/phortune/controller/external/PhortuneExternalOverviewController.php
- This file was added.
<?php | |||||
final class PhortuneExternalOverviewController | |||||
extends PhortuneExternalController { | |||||
protected function handleExternalRequest(AphrontRequest $request) { | |||||
$xviewer = $this->getExternalViewer(); | |||||
$email = $this->getAccountEmail(); | |||||
$account = $email->getAccount(); | |||||
$crumbs = $this->newExternalCrumbs() | |||||
->setBorder(true); | |||||
$header = id(new PHUIHeaderView()) | |||||
->setHeader(pht('Invoices and Receipts: %s', $account->getName())); | |||||
$external_view = $this->newExternalView(); | |||||
$invoices_view = $this->newInvoicesView(); | |||||
$receipts_view = $this->newReceiptsView(); | |||||
$column_view = id(new PHUITwoColumnView()) | |||||
->setHeader($header) | |||||
->setFooter( | |||||
array( | |||||
$external_view, | |||||
$invoices_view, | |||||
$receipts_view, | |||||
)); | |||||
return $this->newPage() | |||||
->setCrumbs($crumbs) | |||||
->setTitle( | |||||
array( | |||||
pht('Invoices and Receipts'), | |||||
$account->getName(), | |||||
)) | |||||
->appendChild($column_view); | |||||
} | |||||
private function newInvoicesView() { | |||||
$xviewer = $this->getExternalViewer(); | |||||
$email = $this->getAccountEmail(); | |||||
$account = $email->getAccount(); | |||||
$invoices = id(new PhortuneCartQuery()) | |||||
->setViewer($xviewer) | |||||
->withAccountPHIDs(array($account->getPHID())) | |||||
->needPurchases(true) | |||||
->withInvoices(true) | |||||
->execute(); | |||||
$header = id(new PHUIHeaderView()) | |||||
->setHeader(pht('Invoices')); | |||||
$invoices_table = id(new PhortuneOrderTableView()) | |||||
->setViewer($xviewer) | |||||
->setCarts($invoices) | |||||
->setIsInvoices(true); | |||||
return id(new PHUIObjectBoxView()) | |||||
->setHeader($header) | |||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | |||||
->setTable($invoices_table); | |||||
} | |||||
private function newReceiptsView() { | |||||
$xviewer = $this->getExternalViewer(); | |||||
$email = $this->getAccountEmail(); | |||||
$account = $email->getAccount(); | |||||
$receipts = id(new PhortuneCartQuery()) | |||||
->setViewer($xviewer) | |||||
->withAccountPHIDs(array($account->getPHID())) | |||||
->needPurchases(true) | |||||
->withInvoices(false) | |||||
->execute(); | |||||
$header = id(new PHUIHeaderView()) | |||||
->setHeader(pht('Receipts')); | |||||
$receipts_table = id(new PhortuneOrderTableView()) | |||||
->setViewer($xviewer) | |||||
->setCarts($receipts); | |||||
return id(new PHUIObjectBoxView()) | |||||
->setHeader($header) | |||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | |||||
->setTable($receipts_table); | |||||
} | |||||
} |