Allow repositories to be activate/deactivated in a transaction-aware way

Summary: Adds activate/deactivate action plus transactions.

Test Plan: See screenshot.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D7057
This commit is contained in:
epriestley
2013-09-21 16:23:35 -07:00
parent a82992e9a5
commit 63818818cb
6 changed files with 117 additions and 2 deletions

View File

@@ -18,8 +18,17 @@ final class DiffusionRepositoryEditController extends DiffusionController {
$title = pht('Edit %s', $repository->getName());
$content[] = id(new PHUIHeaderView())
$header = id(new PHUIHeaderView())
->setHeader($title);
if (!$repository->isTracked()) {
$header->addTag(
id(new PhabricatorTagView())
->setType(PhabricatorTagView::TYPE_STATE)
->setName(pht('Inactive'))
->setBackgroundColor(PhabricatorTagView::COLOR_BLACK));
}
$content[] = $header;
$content[] = $this->buildBasicActions($repository);
$content[] = $this->buildBasicProperties($repository);
@@ -82,9 +91,28 @@ final class DiffusionRepositoryEditController extends DiffusionController {
->setIcon('edit')
->setName(pht('Edit Basic Information'))
->setHref($this->getRepositoryControllerURI($repository, 'edit/basic/'))
->setDisabled(!$can_edit);
->setDisabled(!$can_edit)
->setWorkflow(!$can_edit);
$view->addAction($edit);
$activate = id(new PhabricatorActionView())
->setHref(
$this->getRepositoryControllerURI($repository, 'edit/activate/'))
->setDisabled(!$can_edit)
->setWorkflow(true);
if ($repository->isTracked()) {
$activate
->setIcon('disable')
->setName(pht('Deactivate Repository'));
} else {
$activate
->setIcon('enable')
->setName(pht('Activate Repository'));
}
$view->addAction($activate);
return $view;
}