[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhabricatorOAuthClientViewController 4 extends PhabricatorOAuthClientController { 5 6 public function processRequest() { 7 $request = $this->getRequest(); 8 $viewer = $request->getUser(); 9 10 $client = id(new PhabricatorOAuthServerClientQuery()) 11 ->setViewer($viewer) 12 ->withPHIDs(array($this->getClientPHID())) 13 ->executeOne(); 14 if (!$client) { 15 return new Aphront404Response(); 16 } 17 18 $header = $this->buildHeaderView($client); 19 $actions = $this->buildActionView($client); 20 $properties = $this->buildPropertyListView($client); 21 $properties->setActionList($actions); 22 23 $crumbs = $this->buildApplicationCrumbs(); 24 $crumbs->addTextCrumb($client->getName()); 25 26 $box = id(new PHUIObjectBoxView()) 27 ->setHeader($header) 28 ->addPropertyList($properties); 29 30 return $this->buildApplicationPage( 31 array( 32 $crumbs, 33 $box, 34 ), 35 array( 36 'title' => pht('OAuth Application: %s', $client->getName()), 37 )); 38 } 39 40 private function buildHeaderView(PhabricatorOAuthServerClient $client) { 41 $viewer = $this->getRequest()->getUser(); 42 43 $header = id(new PHUIHeaderView()) 44 ->setUser($viewer) 45 ->setHeader(pht('OAuth Application: %s', $client->getName())) 46 ->setPolicyObject($client); 47 48 return $header; 49 } 50 51 private function buildActionView(PhabricatorOAuthServerClient $client) { 52 $viewer = $this->getRequest()->getUser(); 53 54 $can_edit = PhabricatorPolicyFilter::hasCapability( 55 $viewer, 56 $client, 57 PhabricatorPolicyCapability::CAN_EDIT); 58 59 $authorization = id(new PhabricatorOAuthClientAuthorizationQuery()) 60 ->setViewer($viewer) 61 ->withUserPHIDs(array($viewer->getPHID())) 62 ->withClientPHIDs(array($client->getPHID())) 63 ->executeOne(); 64 $is_authorized = (bool)$authorization; 65 66 $view = id(new PhabricatorActionListView()) 67 ->setUser($viewer); 68 69 $view->addAction( 70 id(new PhabricatorActionView()) 71 ->setName(pht('Edit Application')) 72 ->setIcon('fa-pencil') 73 ->setWorkflow(!$can_edit) 74 ->setDisabled(!$can_edit) 75 ->setHref($client->getEditURI())); 76 77 $view->addAction( 78 id(new PhabricatorActionView()) 79 ->setName(pht('Delete Application')) 80 ->setIcon('fa-times') 81 ->setWorkflow(true) 82 ->setDisabled(!$can_edit) 83 ->setHref($client->getDeleteURI())); 84 85 $view->addAction( 86 id(new PhabricatorActionView()) 87 ->setName(pht('Create Test Authorization')) 88 ->setIcon('fa-wrench') 89 ->setWorkflow(true) 90 ->setDisabled($is_authorized) 91 ->setHref($this->getApplicationURI('test/'.$client->getID().'/'))); 92 93 return $view; 94 } 95 96 private function buildPropertyListView(PhabricatorOAuthServerClient $client) { 97 $viewer = $this->getRequest()->getUser(); 98 99 $view = id(new PHUIPropertyListView()) 100 ->setUser($viewer); 101 102 $view->addProperty( 103 pht('Client ID'), 104 $client->getPHID()); 105 106 $view->addProperty( 107 pht('Client Secret'), 108 $client->getSecret()); 109 110 $view->addProperty( 111 pht('Redirect URI'), 112 $client->getRedirectURI()); 113 114 $view->addProperty( 115 pht('Created'), 116 phabricator_datetime($client->getDateCreated(), $viewer)); 117 118 return $view; 119 } 120 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |