diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -624,6 +624,8 @@ 'DiffusionCommitDiffContentRemovedHeraldField' => 'applications/diffusion/herald/DiffusionCommitDiffContentRemovedHeraldField.php', 'DiffusionCommitDiffEnormousHeraldField' => 'applications/diffusion/herald/DiffusionCommitDiffEnormousHeraldField.php', 'DiffusionCommitEditController' => 'applications/diffusion/controller/DiffusionCommitEditController.php', + 'DiffusionCommitEditEngine' => 'applications/diffusion/editor/DiffusionCommitEditEngine.php', + 'DiffusionCommitEditProController' => 'applications/diffusion/controller/DiffusionCommitEditProController.php', 'DiffusionCommitFulltextEngine' => 'applications/repository/search/DiffusionCommitFulltextEngine.php', 'DiffusionCommitHasRevisionEdgeType' => 'applications/diffusion/edge/DiffusionCommitHasRevisionEdgeType.php', 'DiffusionCommitHasRevisionRelationship' => 'applications/diffusion/relationships/DiffusionCommitHasRevisionRelationship.php', @@ -5316,6 +5318,8 @@ 'DiffusionCommitDiffContentRemovedHeraldField' => 'DiffusionCommitHeraldField', 'DiffusionCommitDiffEnormousHeraldField' => 'DiffusionCommitHeraldField', 'DiffusionCommitEditController' => 'DiffusionController', + 'DiffusionCommitEditEngine' => 'PhabricatorEditEngine', + 'DiffusionCommitEditProController' => 'DiffusionController', 'DiffusionCommitFulltextEngine' => 'PhabricatorFulltextEngine', 'DiffusionCommitHasRevisionEdgeType' => 'PhabricatorEdgeType', 'DiffusionCommitHasRevisionRelationship' => 'DiffusionCommitRelationship', diff --git a/src/applications/diffusion/application/PhabricatorDiffusionApplication.php b/src/applications/diffusion/application/PhabricatorDiffusionApplication.php --- a/src/applications/diffusion/application/PhabricatorDiffusionApplication.php +++ b/src/applications/diffusion/application/PhabricatorDiffusionApplication.php @@ -131,6 +131,11 @@ 'symbol/(?P<name>[^/]+)/' => 'DiffusionSymbolController', 'external/' => 'DiffusionExternalController', 'lint/' => 'DiffusionLintController', + + 'commit/' => array( + $this->getEditRoutePattern('edit/') => + 'DiffusionCommitEditProController', + ), ), ); } diff --git a/src/applications/diffusion/controller/DiffusionCommitEditProController.php b/src/applications/diffusion/controller/DiffusionCommitEditProController.php new file mode 100644 --- /dev/null +++ b/src/applications/diffusion/controller/DiffusionCommitEditProController.php @@ -0,0 +1,12 @@ +<?php + +final class DiffusionCommitEditProController + extends DiffusionController { + + public function handleRequest(AphrontRequest $request) { + return id(new DiffusionCommitEditEngine()) + ->setController($this) + ->buildResponse(); + } + +} diff --git a/src/applications/diffusion/editor/DiffusionCommitEditEngine.php b/src/applications/diffusion/editor/DiffusionCommitEditEngine.php new file mode 100644 --- /dev/null +++ b/src/applications/diffusion/editor/DiffusionCommitEditEngine.php @@ -0,0 +1,70 @@ +<?php + +final class DiffusionCommitEditEngine + extends PhabricatorEditEngine { + + const ENGINECONST = 'diffusion.commit'; + + public function isEngineConfigurable() { + return false; + } + + public function getEngineName() { + return pht('Commits'); + } + + public function getSummaryHeader() { + return pht('Edit Commits'); + } + + public function getSummaryText() { + return pht('Edit commits.'); + } + + public function getEngineApplicationClass() { + return 'PhabricatorDiffusionApplication'; + } + + protected function newEditableObject() { + throw new PhutilMethodNotImplementedException(); + } + + protected function newObjectQuery() { + return new DiffusionCommitQuery(); + } + + protected function getObjectCreateTitleText($object) { + return pht('Create Commit'); + } + + protected function getObjectCreateShortText() { + return pht('Create Commit'); + } + + protected function getObjectEditTitleText($object) { + return pht('Edit Commit: %s', $object->getDisplayName()); + } + + protected function getObjectEditShortText($object) { + return $object->getDisplayName(); + } + + protected function getObjectName() { + return pht('Commit'); + } + + protected function getObjectViewURI($object) { + return $object->getURI(); + } + + protected function getCreateNewObjectPolicy() { + return PhabricatorPolicies::POLICY_NOONE; + } + + protected function buildCustomEditFields($object) { + $viewer = $this->getViewer(); + + return array(); + } + +}