Differential D8097 Diff 18346 src/applications/diffusion/controller/DiffusionRepositoryEditBasicController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/controller/DiffusionRepositoryEditBasicController.php
| Show All 22 Lines | public function processRequest() { | ||||
| if (!$repository) { | if (!$repository) { | ||||
| return new Aphront404Response(); | return new Aphront404Response(); | ||||
| } | } | ||||
| $edit_uri = $this->getRepositoryControllerURI($repository, 'edit/'); | $edit_uri = $this->getRepositoryControllerURI($repository, 'edit/'); | ||||
| $v_name = $repository->getName(); | $v_name = $repository->getName(); | ||||
| $v_desc = $repository->getDetail('description'); | $v_desc = $repository->getDetail('description'); | ||||
| $v_clone_name = $repository->getDetail('clone-name'); | |||||
| $e_name = true; | $e_name = true; | ||||
| $errors = array(); | $errors = array(); | ||||
| if ($request->isFormPost()) { | if ($request->isFormPost()) { | ||||
| $v_name = $request->getStr('name'); | $v_name = $request->getStr('name'); | ||||
| $v_desc = $request->getStr('description'); | $v_desc = $request->getStr('description'); | ||||
| $v_projects = $request->getArr('projectPHIDs'); | $v_projects = $request->getArr('projectPHIDs'); | ||||
| $v_clone_name = $request->getStr('cloneName'); | |||||
| if (!strlen($v_name)) { | if (!strlen($v_name)) { | ||||
| $e_name = pht('Required'); | $e_name = pht('Required'); | ||||
| $errors[] = pht('Repository name is required.'); | $errors[] = pht('Repository name is required.'); | ||||
| } else { | } else { | ||||
| $e_name = null; | $e_name = null; | ||||
| } | } | ||||
| if (!$errors) { | if (!$errors) { | ||||
| $xactions = array(); | $xactions = array(); | ||||
| $template = id(new PhabricatorRepositoryTransaction()); | $template = id(new PhabricatorRepositoryTransaction()); | ||||
| $type_name = PhabricatorRepositoryTransaction::TYPE_NAME; | $type_name = PhabricatorRepositoryTransaction::TYPE_NAME; | ||||
| $type_desc = PhabricatorRepositoryTransaction::TYPE_DESCRIPTION; | $type_desc = PhabricatorRepositoryTransaction::TYPE_DESCRIPTION; | ||||
| $type_edge = PhabricatorTransactions::TYPE_EDGE; | $type_edge = PhabricatorTransactions::TYPE_EDGE; | ||||
| $type_clone_name = PhabricatorRepositoryTransaction::TYPE_CLONE_NAME; | |||||
| $xactions[] = id(clone $template) | $xactions[] = id(clone $template) | ||||
| ->setTransactionType($type_name) | ->setTransactionType($type_name) | ||||
| ->setNewValue($v_name); | ->setNewValue($v_name); | ||||
| $xactions[] = id(clone $template) | $xactions[] = id(clone $template) | ||||
| ->setTransactionType($type_desc) | ->setTransactionType($type_desc) | ||||
| ->setNewValue($v_desc); | ->setNewValue($v_desc); | ||||
| $xactions[] = id(clone $template) | $xactions[] = id(clone $template) | ||||
| ->setTransactionType($type_clone_name) | |||||
| ->setNewValue($v_clone_name); | |||||
| $xactions[] = id(clone $template) | |||||
| ->setTransactionType($type_edge) | ->setTransactionType($type_edge) | ||||
| ->setMetadataValue( | ->setMetadataValue( | ||||
| 'edge:type', | 'edge:type', | ||||
| PhabricatorEdgeConfig::TYPE_OBJECT_HAS_PROJECT) | PhabricatorEdgeConfig::TYPE_OBJECT_HAS_PROJECT) | ||||
| ->setNewValue( | ->setNewValue( | ||||
| array( | array( | ||||
| '=' => array_fuse($v_projects), | '=' => array_fuse($v_projects), | ||||
| )); | )); | ||||
| Show All 18 Lines | $form = id(new AphrontFormView()) | ||||
| ->setUser($user) | ->setUser($user) | ||||
| ->appendChild( | ->appendChild( | ||||
| id(new AphrontFormTextControl()) | id(new AphrontFormTextControl()) | ||||
| ->setName('name') | ->setName('name') | ||||
| ->setLabel(pht('Name')) | ->setLabel(pht('Name')) | ||||
| ->setValue($v_name) | ->setValue($v_name) | ||||
| ->setError($e_name)) | ->setError($e_name)) | ||||
| ->appendChild( | ->appendChild( | ||||
| id(new AphrontFormTextControl()) | |||||
| ->setName('cloneName') | |||||
| ->setLabel(pht('Clone/Checkout As')) | |||||
| ->setValue($v_clone_name) | |||||
| ->setCaption( | |||||
| pht( | |||||
| 'Optional directory name to use when cloning or checking out '. | |||||
| 'this repository.'))) | |||||
| ->appendChild( | |||||
| id(new PhabricatorRemarkupControl()) | id(new PhabricatorRemarkupControl()) | ||||
| ->setName('description') | ->setName('description') | ||||
| ->setLabel(pht('Description')) | ->setLabel(pht('Description')) | ||||
| ->setValue($v_desc)) | ->setValue($v_desc)) | ||||
| ->appendChild( | ->appendChild( | ||||
| id(new AphrontFormTokenizerControl()) | id(new AphrontFormTokenizerControl()) | ||||
| ->setDatasource('/typeahead/common/projects/') | ->setDatasource('/typeahead/common/projects/') | ||||
| ->setName('projectPHIDs') | ->setName('projectPHIDs') | ||||
| ▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines | |||||