@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.

Fix create links when no repositories exist

Summary: Fixes T10925. Sends users to /new/ instead of /create/

Test Plan: Visit page, see links, clicky clicky.

Reviewers: epriestley, thoughtpolice

Reviewed By: thoughtpolice

Subscribers: thoughtpolice, Korvin

Maniphest Tasks: T10925

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

+4 -95
-2
src/__phutil_library_map__.php
··· 763 763 'DiffusionRepositoryListController' => 'applications/diffusion/controller/DiffusionRepositoryListController.php', 764 764 'DiffusionRepositoryManageController' => 'applications/diffusion/controller/DiffusionRepositoryManageController.php', 765 765 'DiffusionRepositoryManagementPanel' => 'applications/diffusion/management/DiffusionRepositoryManagementPanel.php', 766 - 'DiffusionRepositoryNewController' => 'applications/diffusion/controller/DiffusionRepositoryNewController.php', 767 766 'DiffusionRepositoryPath' => 'applications/diffusion/data/DiffusionRepositoryPath.php', 768 767 'DiffusionRepositoryPoliciesManagementPanel' => 'applications/diffusion/management/DiffusionRepositoryPoliciesManagementPanel.php', 769 768 'DiffusionRepositoryRef' => 'applications/diffusion/data/DiffusionRepositoryRef.php', ··· 4979 4978 'DiffusionRepositoryListController' => 'DiffusionController', 4980 4979 'DiffusionRepositoryManageController' => 'DiffusionController', 4981 4980 'DiffusionRepositoryManagementPanel' => 'Phobject', 4982 - 'DiffusionRepositoryNewController' => 'DiffusionController', 4983 4981 'DiffusionRepositoryPath' => 'Phobject', 4984 4982 'DiffusionRepositoryPoliciesManagementPanel' => 'DiffusionRepositoryManagementPanel', 4985 4983 'DiffusionRepositoryRef' => 'Phobject',
-3
src/applications/diffusion/application/PhabricatorDiffusionApplication.php
··· 59 59 => 'DiffusionRepositoryListController', 60 60 $this->getEditRoutePattern('edit/') => 61 61 'DiffusionRepositoryEditproController', 62 - 'new/' => 'DiffusionRepositoryNewController', 63 - '(?P<edit>create)/' => 'DiffusionRepositoryCreateController', 64 - '(?P<edit>import)/' => 'DiffusionRepositoryCreateController', 65 62 'pushlog/' => array( 66 63 '(?:query/(?P<queryKey>[^/]+)/)?' => 'DiffusionPushLogListController', 67 64 'view/(?P<id>\d+)/' => 'DiffusionPushEventViewController',
-79
src/applications/diffusion/controller/DiffusionRepositoryNewController.php
··· 1 - <?php 2 - 3 - final class DiffusionRepositoryNewController extends DiffusionController { 4 - 5 - public function handleRequest(AphrontRequest $request) { 6 - $viewer = $this->getViewer(); 7 - 8 - $this->requireApplicationCapability( 9 - DiffusionCreateRepositoriesCapability::CAPABILITY); 10 - 11 - if ($request->isFormPost()) { 12 - if ($request->getStr('type')) { 13 - switch ($request->getStr('type')) { 14 - case 'create': 15 - $uri = $this->getApplicationURI('create/'); 16 - break; 17 - case 'import': 18 - default: 19 - $uri = $this->getApplicationURI('import/'); 20 - break; 21 - } 22 - 23 - return id(new AphrontRedirectResponse())->setURI($uri); 24 - } 25 - } 26 - 27 - $doc_href = PhabricatorEnv::getDoclink( 28 - 'Diffusion User Guide: Repository Hosting'); 29 - 30 - $doc_link = phutil_tag( 31 - 'a', 32 - array( 33 - 'href' => $doc_href, 34 - 'target' => '_blank', 35 - ), 36 - pht('Diffusion User Guide: Repository Hosting')); 37 - 38 - $form = id(new AphrontFormView()) 39 - ->setUser($viewer) 40 - ->appendChild( 41 - id(new AphrontFormRadioButtonControl()) 42 - ->setName('type') 43 - ->addButton( 44 - 'create', 45 - pht('Create a New Hosted Repository'), 46 - array( 47 - pht( 48 - 'Create a new, empty repository which Phabricator will host. '. 49 - 'For instructions on configuring repository hosting, see %s.', 50 - $doc_link), 51 - )) 52 - ->addButton( 53 - 'import', 54 - pht('Import an Existing External Repository'), 55 - pht( 56 - "Import a repository hosted somewhere else, like GitHub, ". 57 - "Bitbucket, or your organization's existing servers. ". 58 - "Phabricator will read changes from the repository but will ". 59 - "not host or manage it. The authoritative master version of ". 60 - "the repository will stay where it is now."))) 61 - ->appendChild( 62 - id(new AphrontFormSubmitControl()) 63 - ->setValue(pht('Continue')) 64 - ->addCancelButton($this->getApplicationURI())); 65 - 66 - $crumbs = $this->buildApplicationCrumbs(); 67 - $crumbs->addTextCrumb(pht('New Repository')); 68 - 69 - $form_box = id(new PHUIObjectBoxView()) 70 - ->setHeaderText(pht('Create or Import Repository')) 71 - ->setForm($form); 72 - 73 - return $this->newPage() 74 - ->setTitle(pht('New Repository')) 75 - ->setCrumbs($crumbs) 76 - ->appendChild($form_box); 77 - } 78 - 79 - }
+4 -11
src/applications/repository/query/PhabricatorRepositorySearchEngine.php
··· 242 242 243 243 protected function getNewUserBody() { 244 244 245 - $import_button = id(new PHUIButtonView()) 245 + $new_button = id(new PHUIButtonView()) 246 246 ->setTag('a') 247 - ->setText(pht('Import Repository')) 248 - ->setHref('/diffusion/import/') 249 - ->setColor(PHUIButtonView::GREEN); 250 - 251 - $create_button = id(new PHUIButtonView()) 252 - ->setTag('a') 253 - ->setText(pht('Create Repository')) 254 - ->setHref('/diffusion/create/') 247 + ->setText(pht('New Repository')) 248 + ->setHref('/diffusion/edit/') 255 249 ->setColor(PHUIButtonView::GREEN); 256 250 257 251 $icon = $this->getApplication()->getIcon(); ··· 261 255 ->setTitle(pht('Welcome to %s', $app_name)) 262 256 ->setDescription( 263 257 pht('Import, create, or just browse repositories in Diffusion.')) 264 - ->addAction($import_button) 265 - ->addAction($create_button); 258 + ->addAction($new_button); 266 259 267 260 return $view; 268 261 }