@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add a very basic EditPro controller for Differential

Summary: Ref T11114. This doesn't really support anything yet, but technically works if you manually go to `/editpro/`.

Test Plan: {F2117302}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T11114

Differential Revision: https://secure.phabricator.com/D17043

+90
+4
src/__phutil_library_map__.php
··· 518 518 'DifferentialRevisionDependedOnByRevisionEdgeType' => 'applications/differential/edge/DifferentialRevisionDependedOnByRevisionEdgeType.php', 519 519 'DifferentialRevisionDependsOnRevisionEdgeType' => 'applications/differential/edge/DifferentialRevisionDependsOnRevisionEdgeType.php', 520 520 'DifferentialRevisionEditController' => 'applications/differential/controller/DifferentialRevisionEditController.php', 521 + 'DifferentialRevisionEditEngine' => 'applications/differential/editor/DifferentialRevisionEditEngine.php', 522 + 'DifferentialRevisionEditProController' => 'applications/differential/controller/DifferentialRevisionEditProController.php', 521 523 'DifferentialRevisionFulltextEngine' => 'applications/differential/search/DifferentialRevisionFulltextEngine.php', 522 524 'DifferentialRevisionGraph' => 'infrastructure/graph/DifferentialRevisionGraph.php', 523 525 'DifferentialRevisionHasChildRelationship' => 'applications/differential/relationships/DifferentialRevisionHasChildRelationship.php', ··· 5164 5166 'DifferentialRevisionDependedOnByRevisionEdgeType' => 'PhabricatorEdgeType', 5165 5167 'DifferentialRevisionDependsOnRevisionEdgeType' => 'PhabricatorEdgeType', 5166 5168 'DifferentialRevisionEditController' => 'DifferentialController', 5169 + 'DifferentialRevisionEditEngine' => 'PhabricatorEditEngine', 5170 + 'DifferentialRevisionEditProController' => 'DifferentialController', 5167 5171 'DifferentialRevisionFulltextEngine' => 'PhabricatorFulltextEngine', 5168 5172 'DifferentialRevisionGraph' => 'PhabricatorObjectGraph', 5169 5173 'DifferentialRevisionHasChildRelationship' => 'DifferentialRevisionRelationship',
+2
src/applications/differential/application/PhabricatorDifferentialApplication.php
··· 67 67 'revision/' => array( 68 68 'edit/(?:(?P<id>[1-9]\d*)/)?' 69 69 => 'DifferentialRevisionEditController', 70 + $this->getEditRoutePattern('editpro/') 71 + => 'DifferentialRevisionEditProController', 70 72 'land/(?:(?P<id>[1-9]\d*))/(?P<strategy>[^/]+)/' 71 73 => 'DifferentialRevisionLandController', 72 74 'closedetails/(?P<phid>[^/]+)/'
+12
src/applications/differential/controller/DifferentialRevisionEditProController.php
··· 1 + <?php 2 + 3 + final class DifferentialRevisionEditProController 4 + extends DifferentialController { 5 + 6 + public function handleRequest(AphrontRequest $request) { 7 + return id(new DifferentialRevisionEditEngine()) 8 + ->setController($this) 9 + ->buildResponse(); 10 + } 11 + 12 + }
+66
src/applications/differential/editor/DifferentialRevisionEditEngine.php
··· 1 + <?php 2 + 3 + final class DifferentialRevisionEditEngine 4 + extends PhabricatorEditEngine { 5 + 6 + const ENGINECONST = 'differential.revision'; 7 + 8 + public function getEngineName() { 9 + return pht('Revisions'); 10 + } 11 + 12 + public function getSummaryHeader() { 13 + return pht('Configure Revision Forms'); 14 + } 15 + 16 + public function getSummaryText() { 17 + return pht( 18 + 'Configure creation and editing revision forms in Differential.'); 19 + } 20 + 21 + public function getEngineApplicationClass() { 22 + return 'PhabricatorDifferentialApplication'; 23 + } 24 + 25 + protected function supportsEditEngineConfiguration() { 26 + return false; 27 + } 28 + 29 + protected function newEditableObject() { 30 + $viewer = $this->getViewer(); 31 + return DifferentialRevision::initializeNewRevision($viewer); 32 + } 33 + 34 + protected function newObjectQuery() { 35 + return new DifferentialRevisionQuery(); 36 + } 37 + 38 + protected function getObjectCreateTitleText($object) { 39 + return pht('Create New Revision'); 40 + } 41 + 42 + protected function getObjectEditTitleText($object) { 43 + return pht('Edit Revision: %s', $object->getTitle()); 44 + } 45 + 46 + protected function getObjectEditShortText($object) { 47 + return $object->getMonogram(); 48 + } 49 + 50 + protected function getObjectCreateShortText() { 51 + return pht('Create Revision'); 52 + } 53 + 54 + protected function getObjectName() { 55 + return pht('Revision'); 56 + } 57 + 58 + protected function getObjectViewURI($object) { 59 + return $object->getURI(); 60 + } 61 + 62 + protected function buildCustomEditFields($object) { 63 + return array(); 64 + } 65 + 66 + }
+6
src/infrastructure/customfield/engineextension/PhabricatorCustomFieldEditEngineExtension.php
··· 27 27 PhabricatorEditEngine $engine, 28 28 PhabricatorApplicationTransactionInterface $object) { 29 29 30 + // TODO: Remove this hack once Differential modernizes more fully. Today, 31 + // its custom fields are too custom to interact cleanly with EditEngine. 32 + if ($object instanceof DifferentialRevision) { 33 + return array(); 34 + } 35 + 30 36 $viewer = $this->getViewer(); 31 37 32 38 $field_list = PhabricatorCustomField::getObjectFields(