[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class NuanceSourceEditController extends NuanceController { 4 5 private $sourceID; 6 7 public function setSourceID($source_id) { 8 $this->sourceID = $source_id; 9 return $this; 10 } 11 public function getSourceID() { 12 return $this->sourceID; 13 } 14 15 public function willProcessRequest(array $data) { 16 $this->setSourceID(idx($data, 'id')); 17 } 18 19 public function processRequest() { 20 $can_edit = $this->requireApplicationCapability( 21 NuanceSourceManageCapability::CAPABILITY); 22 23 $request = $this->getRequest(); 24 $user = $request->getUser(); 25 26 $source_id = $this->getSourceID(); 27 $is_new = !$source_id; 28 29 if ($is_new) { 30 $source = NuanceSource::initializeNewSource($user); 31 } else { 32 $source = id(new NuanceSourceQuery()) 33 ->setViewer($user) 34 ->withIDs(array($source_id)) 35 ->requireCapabilities( 36 array( 37 PhabricatorPolicyCapability::CAN_VIEW, 38 PhabricatorPolicyCapability::CAN_EDIT, 39 )) 40 ->executeOne(); 41 } 42 43 if (!$source) { 44 return new Aphront404Response(); 45 } 46 47 $definition = NuanceSourceDefinition::getDefinitionForSource($source); 48 $definition->setActor($user); 49 50 $response = $definition->buildEditLayout($request); 51 if ($response instanceof AphrontResponse) { 52 return $response; 53 } 54 $layout = $response; 55 56 $crumbs = $this->buildApplicationCrumbs(); 57 return $this->buildApplicationPage( 58 array( 59 $crumbs, 60 $layout, 61 ), 62 array( 63 'title' => $definition->getEditTitle(), 64 )); 65 } 66 }
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 |