[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/phortune/controller/ -> PhortunePaymentMethodEditController.php (source)

   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  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1