[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class PhortunePaymentMethodEditController 4 extends PhortuneController { 5 6 private $methodID; 7 8 public function willProcessRequest(array $data) { 9 $this->methodID = $data['id']; 10 } 11 12 public function processRequest() { 13 $request = $this->getRequest(); 14 $viewer = $request->getUser(); 15 16 $method = id(new PhortunePaymentMethodQuery()) 17 ->setViewer($viewer) 18 ->withIDs(array($this->methodID)) 19 ->requireCapabilities( 20 array( 21 PhabricatorPolicyCapability::CAN_VIEW, 22 PhabricatorPolicyCapability::CAN_EDIT, 23 )) 24 ->executeOne(); 25 if (!$method) { 26 return new Aphront404Response(); 27 } 28 29 $account = $method->getAccount(); 30 $account_uri = $this->getApplicationURI($account->getID().'/'); 31 32 if ($request->isFormPost()) { 33 34 $name = $request->getStr('name'); 35 36 // TODO: Use ApplicationTransactions 37 38 $method->setName($name); 39 $method->save(); 40 41 return id(new AphrontRedirectResponse())->setURI($account_uri); 42 } 43 44 $provider = $method->buildPaymentProvider(); 45 46 $form = id(new AphrontFormView()) 47 ->setUser($viewer) 48 ->appendChild( 49 id(new AphrontFormTextControl()) 50 ->setLabel(pht('Name')) 51 ->setName('name') 52 ->setValue($method->getName())) 53 ->appendChild( 54 id(new AphrontFormStaticControl()) 55 ->setLabel(pht('Details')) 56 ->setValue($method->getSummary())) 57 ->appendChild( 58 id(new AphrontFormStaticControl()) 59 ->setLabel(pht('Expires')) 60 ->setValue($method->getDisplayExpires())) 61 ->appendChild( 62 id(new AphrontFormSubmitControl()) 63 ->addCancelButton($account_uri) 64 ->setValue(pht('Save Changes'))); 65 66 $box = id(new PHUIObjectBoxView()) 67 ->setHeaderText(pht('Edit Payment Method')) 68 ->appendChild($form); 69 70 $crumbs = $this->buildApplicationCrumbs(); 71 $crumbs->addTextCrumb($account->getName(), $account_uri); 72 $crumbs->addTextCrumb($method->getDisplayName()); 73 $crumbs->addTextCrumb(pht('Edit')); 74 75 return $this->buildApplicationPage( 76 array( 77 $crumbs, 78 $box, 79 ), 80 array( 81 'title' => pht('Edit Payment Method'), 82 )); 83 } 84 85 }
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 |