Differential D20717 Diff 49434 src/applications/phortune/controller/account/PhortuneAccountEmailViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/phortune/controller/account/PhortuneAccountEmailViewController.php
<?php | <?php | ||||
final class PhortuneAccountEmailViewController | final class PhortuneAccountEmailViewController | ||||
extends PhortuneAccountController { | extends PhortuneAccountController { | ||||
public function handleRequest(AphrontRequest $request) { | protected function shouldRequireAccountEditCapability() { | ||||
return true; | |||||
} | |||||
protected function handleAccountRequest(AphrontRequest $request) { | |||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$account = $this->getAccount(); | |||||
$address = id(new PhortuneAccountEmailQuery()) | $address = id(new PhortuneAccountEmailQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withAccountPHIDs(array($account->getPHID())) | |||||
->withIDs(array($request->getURIData('id'))) | ->withIDs(array($request->getURIData('id'))) | ||||
->executeOne(); | ->executeOne(); | ||||
if (!$address) { | if (!$address) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
$account = $address->getAccount(); | |||||
$this->setAccount($account); | |||||
$crumbs = $this->buildApplicationCrumbs() | $crumbs = $this->buildApplicationCrumbs() | ||||
->addTextCrumb(pht('Email Addresses'), $account->getEmailAddressesURI()) | ->addTextCrumb(pht('Email Addresses'), $account->getEmailAddressesURI()) | ||||
->addTextCrumb($address->getObjectName()) | ->addTextCrumb($address->getObjectName()) | ||||
->setBorder(true); | ->setBorder(true); | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setHeader(pht('Account Email: %s', $address->getAddress())); | ->setHeader(pht('Account Email: %s', $address->getAddress())); | ||||
Show All 28 Lines | private function buildCurtainView(PhortuneAccountEmail $address) { | ||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$address, | $address, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
$edit_uri = $this->getApplicationURI( | $edit_uri = $this->getApplicationURI( | ||||
urisprintf( | urisprintf( | ||||
'address/edit/%d/', | 'account/%d/addresses/edit/%d/', | ||||
$account->getID(), | |||||
$address->getID())); | $address->getID())); | ||||
$curtain = $this->newCurtainView($account); | $curtain = $this->newCurtainView($account); | ||||
$curtain->addAction( | $curtain->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Edit Address')) | ->setName(pht('Edit Address')) | ||||
->setIcon('fa-pencil') | ->setIcon('fa-pencil') | ||||
Show All 21 Lines |