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

Allow Home and Dashboards to be uninstalled

Summary:
Ref T7143. This is the simplest fix for adding a new route for Home, at the cost of possibly letting users break instances. However:

- It's kind of hard to get to the option to uninstall Home anyway.
- It's hard to imagine anyone will really uninstall Home by accident, right? Right?
- Put a really scary warning on the action just in case.

Dashboards was only required because Home was required, I think, so just drop that too.

Test Plan: Uninstalled home.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: chad, epriestley

Maniphest Tasks: T7143

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

+22 -12
-4
src/applications/dashboard/application/PhabricatorDashboardApplication.php
··· 55 55 ); 56 56 } 57 57 58 - public function canUninstall() { 59 - return false; 60 - } 61 - 62 58 }
-4
src/applications/home/application/PhabricatorHomeApplication.php
··· 34 34 return false; 35 35 } 36 36 37 - public function canUninstall() { 38 - return false; 39 - } 40 - 41 37 public function getApplicationOrder() { 42 38 return 9; 43 39 }
+22 -4
src/applications/meta/controller/PhabricatorApplicationUninstallController.php
··· 63 63 } 64 64 } else { 65 65 if ($selected->canUninstall()) { 66 - $dialog->setTitle('Confirmation') 67 - ->appendChild( 68 - 'Really Uninstall '.$selected->getName().' application?') 69 - ->addSubmitButton('Uninstall'); 66 + $dialog->setTitle(pht('Really Uninstall Application?')); 67 + 68 + if ($selected instanceof PhabricatorHomeApplication) { 69 + $dialog 70 + ->appendParagraph( 71 + pht( 72 + 'Are you absolutely certain you want to uninstall the Home '. 73 + 'application?')) 74 + ->appendParagraph( 75 + pht( 76 + 'This is very unusual and will leave you without any '. 77 + 'content on the Phabricator home page. You should only '. 78 + 'do this if you are certain you know what you are doing.')) 79 + ->addSubmitButton(pht('Completely Break Phabricator')); 80 + } else { 81 + $dialog 82 + ->appendParagraph( 83 + pht( 84 + 'Really uninstall the %s application?', 85 + $selected->getName())) 86 + ->addSubmitButton(pht('Uninstall')); 87 + } 70 88 } else { 71 89 $dialog->setTitle('Information') 72 90 ->appendChild(