Differential D15620 Diff 37653 src/applications/oauthserver/controller/client/PhabricatorOAuthClientViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/oauthserver/controller/client/PhabricatorOAuthClientViewController.php
Show First 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | final class PhabricatorOAuthClientViewController | ||||
private function buildHeaderView(PhabricatorOAuthServerClient $client) { | private function buildHeaderView(PhabricatorOAuthServerClient $client) { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setHeader(pht('OAuth Application: %s', $client->getName())) | ->setHeader(pht('OAuth Application: %s', $client->getName())) | ||||
->setPolicyObject($client); | ->setPolicyObject($client); | ||||
if ($client->getIsDisabled()) { | |||||
$header->setStatus('fa-ban', 'indigo', pht('Disabled')); | |||||
} else { | |||||
$header->setStatus('fa-check', 'green', pht('Enabled')); | |||||
} | |||||
return $header; | return $header; | ||||
} | } | ||||
private function buildActionView(PhabricatorOAuthServerClient $client) { | private function buildActionView(PhabricatorOAuthServerClient $client) { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$client, | $client, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
$authorization = id(new PhabricatorOAuthClientAuthorizationQuery()) | |||||
->setViewer($viewer) | |||||
->withUserPHIDs(array($viewer->getPHID())) | |||||
->withClientPHIDs(array($client->getPHID())) | |||||
->executeOne(); | |||||
$is_authorized = (bool)$authorization; | |||||
$id = $client->getID(); | $id = $client->getID(); | ||||
$view = id(new PhabricatorActionListView()) | $view = id(new PhabricatorActionListView()) | ||||
->setUser($viewer); | ->setUser($viewer); | ||||
$view->addAction( | $view->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Edit Application')) | ->setName(pht('Edit Application')) | ||||
->setIcon('fa-pencil') | ->setIcon('fa-pencil') | ||||
->setWorkflow(!$can_edit) | ->setWorkflow(!$can_edit) | ||||
->setDisabled(!$can_edit) | ->setDisabled(!$can_edit) | ||||
->setHref($client->getEditURI())); | ->setHref($client->getEditURI())); | ||||
$view->addAction( | $view->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Show Application Secret')) | ->setName(pht('Show Application Secret')) | ||||
->setIcon('fa-eye') | ->setIcon('fa-eye') | ||||
->setHref($this->getApplicationURI("client/secret/{$id}/")) | ->setHref($this->getApplicationURI("client/secret/{$id}/")) | ||||
->setDisabled(!$can_edit) | ->setDisabled(!$can_edit) | ||||
->setWorkflow(true)); | ->setWorkflow(true)); | ||||
$is_disabled = $client->getIsDisabled(); | |||||
if ($is_disabled) { | |||||
$disable_text = pht('Enable Application'); | |||||
$disable_icon = 'fa-check'; | |||||
} else { | |||||
$disable_text = pht('Disable Application'); | |||||
$disable_icon = 'fa-ban'; | |||||
} | |||||
$disable_uri = $this->getApplicationURI("client/disable/{$id}/"); | |||||
$view->addAction( | $view->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Delete Application')) | ->setName($disable_text) | ||||
->setIcon('fa-times') | ->setIcon($disable_icon) | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled(!$can_edit) | ->setDisabled(!$can_edit) | ||||
->setHref($client->getDeleteURI())); | ->setHref($disable_uri)); | ||||
$view->addAction( | $view->addAction( | ||||
id(new PhabricatorActionView()) | id(new PhabricatorActionView()) | ||||
->setName(pht('Create Test Authorization')) | ->setName(pht('Generate Test Token')) | ||||
->setIcon('fa-wrench') | ->setIcon('fa-plus') | ||||
->setWorkflow(true) | ->setWorkflow(true) | ||||
->setDisabled($is_authorized) | |||||
->setHref($this->getApplicationURI("client/test/{$id}/"))); | ->setHref($this->getApplicationURI("client/test/{$id}/"))); | ||||
return $view; | return $view; | ||||
} | } | ||||
private function buildPropertyListView(PhabricatorOAuthServerClient $client) { | private function buildPropertyListView(PhabricatorOAuthServerClient $client) { | ||||
$viewer = $this->getRequest()->getUser(); | $viewer = $this->getRequest()->getUser(); | ||||
Show All 18 Lines |