Page MenuHomePhabricator

D7412.diff
No OneTemporary

D7412.diff

Index: src/__phutil_library_map__.php
===================================================================
--- src/__phutil_library_map__.php
+++ src/__phutil_library_map__.php
@@ -509,6 +509,7 @@
'DiffusionRepositoryEditBasicController' => 'applications/diffusion/controller/DiffusionRepositoryEditBasicController.php',
'DiffusionRepositoryEditBranchesController' => 'applications/diffusion/controller/DiffusionRepositoryEditBranchesController.php',
'DiffusionRepositoryEditController' => 'applications/diffusion/controller/DiffusionRepositoryEditController.php',
+ 'DiffusionRepositoryEditDeleteController' => 'applications/diffusion/controller/DiffusionRepositoryEditDeleteControler.php',
'DiffusionRepositoryEditEncodingController' => 'applications/diffusion/controller/DiffusionRepositoryEditEncodingController.php',
'DiffusionRepositoryEditLocalController' => 'applications/diffusion/controller/DiffusionRepositoryEditLocalController.php',
'DiffusionRepositoryEditMainController' => 'applications/diffusion/controller/DiffusionRepositoryEditMainController.php',
@@ -1629,9 +1630,7 @@
'PhabricatorRepositoryController' => 'applications/repository/controller/PhabricatorRepositoryController.php',
'PhabricatorRepositoryCreateController' => 'applications/repository/controller/PhabricatorRepositoryCreateController.php',
'PhabricatorRepositoryDAO' => 'applications/repository/storage/PhabricatorRepositoryDAO.php',
- 'PhabricatorRepositoryDeleteController' => 'applications/repository/controller/PhabricatorRepositoryDeleteController.php',
'PhabricatorRepositoryDiscoveryEngine' => 'applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php',
- 'PhabricatorRepositoryEditController' => 'applications/repository/controller/PhabricatorRepositoryEditController.php',
'PhabricatorRepositoryEditor' => 'applications/repository/editor/PhabricatorRepositoryEditor.php',
'PhabricatorRepositoryEngine' => 'applications/repository/engine/PhabricatorRepositoryEngine.php',
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php',
@@ -2686,6 +2685,7 @@
'DiffusionRepositoryEditBasicController' => 'DiffusionRepositoryEditController',
'DiffusionRepositoryEditBranchesController' => 'DiffusionRepositoryEditController',
'DiffusionRepositoryEditController' => 'DiffusionController',
+ 'DiffusionRepositoryEditDeleteController' => 'DiffusionRepositoryEditController',
'DiffusionRepositoryEditEncodingController' => 'DiffusionRepositoryEditController',
'DiffusionRepositoryEditLocalController' => 'DiffusionRepositoryEditController',
'DiffusionRepositoryEditMainController' => 'DiffusionRepositoryEditController',
@@ -3956,9 +3956,7 @@
'PhabricatorRepositoryController' => 'PhabricatorController',
'PhabricatorRepositoryCreateController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryDAO' => 'PhabricatorLiskDAO',
- 'PhabricatorRepositoryDeleteController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryDiscoveryEngine' => 'PhabricatorRepositoryEngine',
- 'PhabricatorRepositoryEditController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryEditor' => 'PhabricatorApplicationTransactionEditor',
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
Index: src/applications/diffusion/application/PhabricatorApplicationDiffusion.php
===================================================================
--- src/applications/diffusion/application/PhabricatorApplicationDiffusion.php
+++ src/applications/diffusion/application/PhabricatorApplicationDiffusion.php
@@ -74,6 +74,7 @@
'actions/' => 'DiffusionRepositoryEditActionsController',
'(?P<edit>remote)/' => 'DiffusionRepositoryCreateController',
'local/' => 'DiffusionRepositoryEditLocalController',
+ 'delete/' => 'DiffusionRepositoryEditDeleteController',
),
),
'inline/' => array(
Index: src/applications/diffusion/controller/DiffusionRepositoryEditDeleteController.php
===================================================================
--- src/applications/diffusion/controller/DiffusionRepositoryEditDeleteController.php
+++ src/applications/diffusion/controller/DiffusionRepositoryEditDeleteController.php
@@ -1,34 +1,36 @@
<?php
-final class PhabricatorRepositoryDeleteController
- extends PhabricatorRepositoryController {
-
- private $id;
-
- public function willProcessRequest(array $data) {
- $this->id = $data['id'];
- }
+final class DiffusionRepositoryEditDeleteController
+ extends DiffusionRepositoryEditController {
public function processRequest() {
- $viewer = $this->getRequest()->getUser();
+ $request = $this->getRequest();
+ $viewer = $request->getUser();
+ $drequest = $this->diffusionRequest;
+ $repository = $drequest->getRepository();
$repository = id(new PhabricatorRepositoryQuery())
->setViewer($viewer)
- ->withIDs(array($this->id))
+ ->requireCapabilities(
+ array(
+ PhabricatorPolicyCapability::CAN_VIEW,
+ PhabricatorPolicyCapability::CAN_EDIT,
+ ))
+ ->withIDs(array($repository->getID()))
->executeOne();
if (!$repository) {
return new Aphront404Response();
}
- $request = $this->getRequest();
-
- if ($request->isDialogFormPost()) {
- return id(new AphrontRedirectResponse())->setURI('/repository/');
- }
+ $edit_uri = $this->getRepositoryControllerURI($repository, 'edit/');
$dialog = new AphrontDialogView();
- $text_1 = pht('If you really want to delete the repository, you must run:');
- $command = 'bin/repository delete '.$repository->getCallsign();
+ $text_1 = pht(
+ 'If you really want to delete the repository, run this command from '.
+ 'the command line:');
+ $command = csprintf(
+ 'phabricator/ $ ./bin/repository delete %s',
+ $repository->getCallsign());
$text_2 = pht('Repositories touch many objects and as such deletes are '.
'prohibitively expensive to run from the web UI.');
$body = phutil_tag(
@@ -43,13 +45,14 @@
phutil_tag('p', array(), $text_2),
));
- $dialog
+ $dialog = id(new AphrontDialogView())
->setUser($request->getUser())
->setTitle(pht('Really want to delete the repository?'))
->appendChild($body)
- ->setSubmitURI('/repository/delete/'.$this->id.'/')
- ->addSubmitButton(pht('Okay'));
+ ->addCancelButton($edit_uri, pht('Okay'));
return id(new AphrontDialogResponse())->setDialog($dialog);
}
+
+
}
Index: src/applications/diffusion/controller/DiffusionRepositoryEditMainController.php
===================================================================
--- src/applications/diffusion/controller/DiffusionRepositoryEditMainController.php
+++ src/applications/diffusion/controller/DiffusionRepositoryEditMainController.php
@@ -174,6 +174,14 @@
$view->addAction($activate);
+ $view->addAction(
+ id(new PhabricatorActionView())
+ ->setName(pht('Delete Repository'))
+ ->setIcon('delete')
+ ->setHref(
+ $this->getRepositoryControllerURI($repository, 'edit/delete/'))
+ ->setWorkflow(true));
+
return $view;
}
Index: src/applications/repository/controller/PhabricatorRepositoryListController.php
===================================================================
--- src/applications/repository/controller/PhabricatorRepositoryListController.php
+++ src/applications/repository/controller/PhabricatorRepositoryListController.php
@@ -41,14 +41,6 @@
'href' => '/repository/edit/'.$repo->getID().'/',
),
'Edit'),
- javelin_tag(
- 'a',
- array(
- 'class' => 'button small grey',
- 'href' => '/repository/delete/'.$repo->getID().'/',
- 'sigil' => 'workflow',
- ),
- 'Delete'),
);
}
@@ -60,7 +52,6 @@
'Type',
'Diffusion',
'',
- ''
));
$table->setColumnClasses(
array(
@@ -69,7 +60,6 @@
null,
null,
'action',
- 'action',
));
$table->setColumnVisibility(
@@ -79,7 +69,6 @@
true,
true,
$is_admin,
- $is_admin,
));
$panel = new AphrontPanelView();

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 5:11 AM (6 h, 53 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6622314
Default Alt Text
D7412.diff (8 KB)

Event Timeline