Differential D14945 Diff 36121 src/applications/diffusion/controller/DiffusionRepositoryEditHostingController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/controller/DiffusionRepositoryEditHostingController.php
<?php | <?php | ||||
final class DiffusionRepositoryEditHostingController | final class DiffusionRepositoryEditHostingController | ||||
extends DiffusionRepositoryEditController { | extends DiffusionRepositoryEditController { | ||||
private $serve; | private $serve; | ||||
protected function processDiffusionRequest(AphrontRequest $request) { | public function handleRequest(AphrontRequest $request) { | ||||
$user = $request->getUser(); | $response = $this->loadDiffusionContextForEdit(); | ||||
$drequest = $this->diffusionRequest; | if ($response) { | ||||
return $response; | |||||
} | |||||
$drequest = $this->getDiffusionRequest(); | |||||
$repository = $drequest->getRepository(); | $repository = $drequest->getRepository(); | ||||
$this->serve = $request->getURIData('serve'); | |||||
$repository = id(new PhabricatorRepositoryQuery()) | $this->serve = $request->getURIData('serve'); | ||||
->setViewer($user) | |||||
->requireCapabilities( | |||||
array( | |||||
PhabricatorPolicyCapability::CAN_VIEW, | |||||
PhabricatorPolicyCapability::CAN_EDIT, | |||||
)) | |||||
->withIDs(array($repository->getID())) | |||||
->executeOne(); | |||||
if (!$repository) { | |||||
return new Aphront404Response(); | |||||
} | |||||
if (!$this->serve) { | if (!$this->serve) { | ||||
return $this->handleHosting($repository); | return $this->handleHosting($repository); | ||||
} else { | } else { | ||||
return $this->handleProtocols($repository); | return $this->handleProtocols($repository); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 68 Lines • ▼ Show 20 Lines | $form = id(new AphrontFormView()) | ||||
id(new AphrontFormSubmitControl()) | id(new AphrontFormSubmitControl()) | ||||
->setValue(pht('Save and Continue')) | ->setValue(pht('Save and Continue')) | ||||
->addCancelButton($edit_uri)); | ->addCancelButton($edit_uri)); | ||||
$object_box = id(new PHUIObjectBoxView()) | $object_box = id(new PHUIObjectBoxView()) | ||||
->setHeaderText($title) | ->setHeaderText($title) | ||||
->setForm($form); | ->setForm($form); | ||||
return $this->buildApplicationPage( | return $this->newPage() | ||||
array( | ->setTitle($title) | ||||
$crumbs, | ->setCrumbs($crumbs) | ||||
$object_box, | ->appendChild($object_box); | ||||
), | |||||
array( | |||||
'title' => $title, | |||||
)); | |||||
} | } | ||||
public function handleProtocols(PhabricatorRepository $repository) { | public function handleProtocols(PhabricatorRepository $repository) { | ||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
$user = $request->getUser(); | $user = $request->getUser(); | ||||
$type = $repository->getVersionControlSystem(); | $type = $repository->getVersionControlSystem(); | ||||
$is_svn = ($type == PhabricatorRepositoryType::REPOSITORY_TYPE_SVN); | $is_svn = ($type == PhabricatorRepositoryType::REPOSITORY_TYPE_SVN); | ||||
▲ Show 20 Lines • Show All 141 Lines • ▼ Show 20 Lines | $form | ||||
id(new AphrontFormSubmitControl()) | id(new AphrontFormSubmitControl()) | ||||
->setValue(pht('Save Changes')) | ->setValue(pht('Save Changes')) | ||||
->addCancelButton($prev_uri, pht('Back'))); | ->addCancelButton($prev_uri, pht('Back'))); | ||||
$object_box = id(new PHUIObjectBoxView()) | $object_box = id(new PHUIObjectBoxView()) | ||||
->setHeaderText($title) | ->setHeaderText($title) | ||||
->setForm($form); | ->setForm($form); | ||||
return $this->buildApplicationPage( | return $this->newPage() | ||||
array( | ->setTitle($title) | ||||
$crumbs, | ->setCrumbs($crumbs) | ||||
$object_box, | ->appendChild($object_box); | ||||
), | |||||
array( | |||||
'title' => $title, | |||||
)); | |||||
} | } | ||||
} | } |