Path: blob/master/src/applications/diffusion/controller/DiffusionRepositoryEditActivateController.php
12242 views
<?php12final class DiffusionRepositoryEditActivateController3extends DiffusionRepositoryManageController {45public function handleRequest(AphrontRequest $request) {6$response = $this->loadDiffusionContextForEdit();7if ($response) {8return $response;9}1011$viewer = $this->getViewer();12$drequest = $this->getDiffusionRequest();13$repository = $drequest->getRepository();1415$panel_uri = id(new DiffusionRepositoryBasicsManagementPanel())16->setRepository($repository)17->getPanelURI();1819if ($request->isFormPost()) {20if (!$repository->isTracked()) {21$new_status = PhabricatorRepository::STATUS_ACTIVE;22} else {23$new_status = PhabricatorRepository::STATUS_INACTIVE;24}2526$xaction = id(new PhabricatorRepositoryTransaction())27->setTransactionType(28PhabricatorRepositoryActivateTransaction::TRANSACTIONTYPE)29->setNewValue($new_status);3031$editor = id(new PhabricatorRepositoryEditor())32->setContinueOnNoEffect(true)33->setContinueOnMissingFields(true)34->setContentSourceFromRequest($request)35->setActor($viewer)36->applyTransactions($repository, array($xaction));3738return id(new AphrontReloadResponse())->setURI($panel_uri);39}4041if ($repository->isTracked()) {42$title = pht('Deactivate Repository');43$body = pht(44'If you deactivate this repository, it will no longer be updated. '.45'Observation and mirroring will cease, and pushing and pulling will '.46'be disabled. You can reactivate the repository later.');47$submit = pht('Deactivate Repository');48} else {49$title = pht('Activate Repository');5051$is_new = $repository->isNewlyInitialized();52if ($is_new) {53if ($repository->isHosted()) {54$body = pht(55'This repository will become a new hosted repository. '.56'It will begin serving read and write traffic.');57} else {58$body = pht(59'This repository will observe an existing remote repository. '.60'It will begin fetching changes from the remote.');61}62} else {63$body = pht(64'This repository will resume updates, observation, mirroring, '.65'and serving any configured read and write traffic.');66}6768$submit = pht('Activate Repository');69}7071return $this->newDialog()72->setTitle($title)73->appendChild($body)74->addSubmitButton($submit)75->addCancelButton($panel_uri);76}7778}798081