From 44ec1d7374462b1bde52a0ee8898b6fb539cc27c Mon Sep 17 00:00:00 2001 From: Joshua Spence Date: Fri, 2 Jan 2015 10:11:59 +1100 Subject: [PATCH] Modernize Dashboard edges Summary: Modernize Dashboard edges to subclass `PhabricatorEdgeType`. Largely based on D11045. Test Plan: Attached a panel to a dashboard, observed the expected comment in the transaction view (both ways). Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D11114 --- src/__phutil_library_map__.php | 4 + .../PhabricatorDashboardCopyController.php | 2 +- .../PhabricatorDashboardEditController.php | 2 +- ...habricatorDashboardPanelEditController.php | 2 +- ...habricatorDashboardPanelViewController.php | 2 +- ...bricatorDashboardRemovePanelController.php | 2 +- ...atorDashboardDashboardHasPanelEdgeType.php | 103 ++++++++++++++++++ ...atorDashboardPanelHasDashboardEdgeType.php | 103 ++++++++++++++++++ .../PhabricatorDashboardTransactionEditor.php | 2 +- .../query/PhabricatorDashboardQuery.php | 2 +- .../edges/constants/PhabricatorEdgeConfig.php | 22 ---- .../PhabricatorBaseEnglishTranslation.php | 33 ++++++ 12 files changed, 250 insertions(+), 29 deletions(-) create mode 100644 src/applications/dashboard/edge/PhabricatorDashboardDashboardHasPanelEdgeType.php create mode 100644 src/applications/dashboard/edge/PhabricatorDashboardPanelHasDashboardEdgeType.php diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index b7d67d8592..236954831c 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -1583,6 +1583,7 @@ phutil_register_library_map(array( 'PhabricatorDashboardController' => 'applications/dashboard/controller/PhabricatorDashboardController.php', 'PhabricatorDashboardCopyController' => 'applications/dashboard/controller/PhabricatorDashboardCopyController.php', 'PhabricatorDashboardDAO' => 'applications/dashboard/storage/PhabricatorDashboardDAO.php', + 'PhabricatorDashboardDashboardHasPanelEdgeType' => 'applications/dashboard/edge/PhabricatorDashboardDashboardHasPanelEdgeType.php', 'PhabricatorDashboardDashboardPHIDType' => 'applications/dashboard/phid/PhabricatorDashboardDashboardPHIDType.php', 'PhabricatorDashboardEditController' => 'applications/dashboard/controller/PhabricatorDashboardEditController.php', 'PhabricatorDashboardHistoryController' => 'applications/dashboard/controller/PhabricatorDashboardHistoryController.php', @@ -1597,6 +1598,7 @@ phutil_register_library_map(array( 'PhabricatorDashboardPanelCoreCustomField' => 'applications/dashboard/customfield/PhabricatorDashboardPanelCoreCustomField.php', 'PhabricatorDashboardPanelCustomField' => 'applications/dashboard/customfield/PhabricatorDashboardPanelCustomField.php', 'PhabricatorDashboardPanelEditController' => 'applications/dashboard/controller/PhabricatorDashboardPanelEditController.php', + 'PhabricatorDashboardPanelHasDashboardEdgeType' => 'applications/dashboard/edge/PhabricatorDashboardPanelHasDashboardEdgeType.php', 'PhabricatorDashboardPanelListController' => 'applications/dashboard/controller/PhabricatorDashboardPanelListController.php', 'PhabricatorDashboardPanelPHIDType' => 'applications/dashboard/phid/PhabricatorDashboardPanelPHIDType.php', 'PhabricatorDashboardPanelQuery' => 'applications/dashboard/query/PhabricatorDashboardPanelQuery.php', @@ -4754,6 +4756,7 @@ phutil_register_library_map(array( 'PhabricatorDashboardController' => 'PhabricatorController', 'PhabricatorDashboardCopyController' => 'PhabricatorDashboardController', 'PhabricatorDashboardDAO' => 'PhabricatorLiskDAO', + 'PhabricatorDashboardDashboardHasPanelEdgeType' => 'PhabricatorEdgeType', 'PhabricatorDashboardDashboardPHIDType' => 'PhabricatorPHIDType', 'PhabricatorDashboardEditController' => 'PhabricatorDashboardController', 'PhabricatorDashboardHistoryController' => 'PhabricatorDashboardController', @@ -4776,6 +4779,7 @@ phutil_register_library_map(array( ), 'PhabricatorDashboardPanelCustomField' => 'PhabricatorCustomField', 'PhabricatorDashboardPanelEditController' => 'PhabricatorDashboardController', + 'PhabricatorDashboardPanelHasDashboardEdgeType' => 'PhabricatorEdgeType', 'PhabricatorDashboardPanelListController' => 'PhabricatorDashboardController', 'PhabricatorDashboardPanelPHIDType' => 'PhabricatorPHIDType', 'PhabricatorDashboardPanelQuery' => 'PhabricatorCursorPagedPolicyAwareQuery', diff --git a/src/applications/dashboard/controller/PhabricatorDashboardCopyController.php b/src/applications/dashboard/controller/PhabricatorDashboardCopyController.php index 4641158a58..d1d7583f4c 100644 --- a/src/applications/dashboard/controller/PhabricatorDashboardCopyController.php +++ b/src/applications/dashboard/controller/PhabricatorDashboardCopyController.php @@ -38,7 +38,7 @@ final class PhabricatorDashboardCopyController ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) ->setMetadataValue( 'edge:type', - PhabricatorEdgeConfig::TYPE_DASHBOARD_HAS_PANEL) + PhabricatorDashboardDashboardHasPanelEdgeType::EDGECONST) ->setNewValue( array( '=' => array_fuse($dashboard->getPanelPHIDs()), diff --git a/src/applications/dashboard/controller/PhabricatorDashboardEditController.php b/src/applications/dashboard/controller/PhabricatorDashboardEditController.php index 7d0a728c72..cad74f7a5f 100644 --- a/src/applications/dashboard/controller/PhabricatorDashboardEditController.php +++ b/src/applications/dashboard/controller/PhabricatorDashboardEditController.php @@ -297,7 +297,7 @@ final class PhabricatorDashboardEditController ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) ->setMetadataValue( 'edge:type', - PhabricatorEdgeConfig::TYPE_DASHBOARD_HAS_PANEL) + PhabricatorDashboardDashboardHasPanelEdgeType::EDGECONST) ->setNewValue( array( '+' => array_fuse($panel_phids), diff --git a/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php b/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php index 70f656f9bd..81c675537f 100644 --- a/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php +++ b/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php @@ -405,7 +405,7 @@ final class PhabricatorDashboardPanelEditController ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) ->setMetadataValue( 'edge:type', - PhabricatorEdgeConfig::TYPE_DASHBOARD_HAS_PANEL) + PhabricatorDashboardDashboardHasPanelEdgeType::EDGECONST) ->setNewValue( array( '+' => array( diff --git a/src/applications/dashboard/controller/PhabricatorDashboardPanelViewController.php b/src/applications/dashboard/controller/PhabricatorDashboardPanelViewController.php index 866504d374..9d33d0a638 100644 --- a/src/applications/dashboard/controller/PhabricatorDashboardPanelViewController.php +++ b/src/applications/dashboard/controller/PhabricatorDashboardPanelViewController.php @@ -155,7 +155,7 @@ final class PhabricatorDashboardPanelViewController $dashboard_phids = PhabricatorEdgeQuery::loadDestinationPHIDs( $panel->getPHID(), - PhabricatorEdgeConfig::TYPE_PANEL_HAS_DASHBOARD); + PhabricatorDashboardPanelHasDashboardEdgeType::EDGECONST); $this->loadHandles($dashboard_phids); $does_not_appear = pht( diff --git a/src/applications/dashboard/controller/PhabricatorDashboardRemovePanelController.php b/src/applications/dashboard/controller/PhabricatorDashboardRemovePanelController.php index 3fed036f50..2d3c2b7831 100644 --- a/src/applications/dashboard/controller/PhabricatorDashboardRemovePanelController.php +++ b/src/applications/dashboard/controller/PhabricatorDashboardRemovePanelController.php @@ -45,7 +45,7 @@ final class PhabricatorDashboardRemovePanelController ->setTransactionType(PhabricatorTransactions::TYPE_EDGE) ->setMetadataValue( 'edge:type', - PhabricatorEdgeConfig::TYPE_DASHBOARD_HAS_PANEL) + PhabricatorDashboardDashboardHasPanelEdgeType::EDGECONST) ->setNewValue( array( '-' => array( diff --git a/src/applications/dashboard/edge/PhabricatorDashboardDashboardHasPanelEdgeType.php b/src/applications/dashboard/edge/PhabricatorDashboardDashboardHasPanelEdgeType.php new file mode 100644 index 0000000000..8b31ea7476 --- /dev/null +++ b/src/applications/dashboard/edge/PhabricatorDashboardDashboardHasPanelEdgeType.php @@ -0,0 +1,103 @@ +setTransactionType(PhabricatorTransactions::TYPE_EDGE) ->setMetadataValue( 'edge:type', - PhabricatorEdgeConfig::TYPE_DASHBOARD_HAS_PANEL) + PhabricatorDashboardDashboardHasPanelEdgeType::EDGECONST) ->setNewValue( array( '+' => array( diff --git a/src/applications/dashboard/query/PhabricatorDashboardQuery.php b/src/applications/dashboard/query/PhabricatorDashboardQuery.php index 2c4ab38c92..d8ba184e81 100644 --- a/src/applications/dashboard/query/PhabricatorDashboardQuery.php +++ b/src/applications/dashboard/query/PhabricatorDashboardQuery.php @@ -44,7 +44,7 @@ final class PhabricatorDashboardQuery ->withSourcePHIDs(mpull($dashboards, 'getPHID')) ->withEdgeTypes( array( - PhabricatorEdgeConfig::TYPE_DASHBOARD_HAS_PANEL, + PhabricatorDashboardDashboardHasPanelEdgeType::EDGECONST, )); $edge_query->execute(); diff --git a/src/infrastructure/edges/constants/PhabricatorEdgeConfig.php b/src/infrastructure/edges/constants/PhabricatorEdgeConfig.php index 015d025f61..ec15d8ce17 100644 --- a/src/infrastructure/edges/constants/PhabricatorEdgeConfig.php +++ b/src/infrastructure/edges/constants/PhabricatorEdgeConfig.php @@ -20,9 +20,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { const TYPE_OBJECT_USES_CREDENTIAL = 39; const TYPE_CREDENTIAL_USED_BY_OBJECT = 40; - const TYPE_DASHBOARD_HAS_PANEL = 45; - const TYPE_PANEL_HAS_DASHBOARD = 46; - const TYPE_OBJECT_HAS_WATCHER = 47; const TYPE_WATCHER_HAS_OBJECT = 48; @@ -121,9 +118,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { self::TYPE_OBJECT_USES_CREDENTIAL => self::TYPE_CREDENTIAL_USED_BY_OBJECT, self::TYPE_CREDENTIAL_USED_BY_OBJECT => self::TYPE_OBJECT_USES_CREDENTIAL, - self::TYPE_PANEL_HAS_DASHBOARD => self::TYPE_DASHBOARD_HAS_PANEL, - self::TYPE_DASHBOARD_HAS_PANEL => self::TYPE_PANEL_HAS_DASHBOARD, - self::TYPE_OBJECT_HAS_WATCHER => self::TYPE_WATCHER_HAS_OBJECT, self::TYPE_WATCHER_HAS_OBJECT => self::TYPE_OBJECT_HAS_WATCHER, ); @@ -178,10 +172,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { return '%s edited file(s), added %d: %s; removed %d: %s.'; case self::TYPE_OBJECT_HAS_CONTRIBUTOR: return '%s edited contributor(s), added %d: %s; removed %d: %s.'; - case self::TYPE_DASHBOARD_HAS_PANEL: - return '%s edited panel(s), added %d: %s; removed %d: %s.'; - case self::TYPE_PANEL_HAS_DASHBOARD: - return '%s edited dashboard(s), added %d: %s; removed %d: %s.'; case self::TYPE_SUBSCRIBED_TO_OBJECT: case self::TYPE_UNSUBSCRIBED_FROM_OBJECT: case self::TYPE_FILE_HAS_OBJECT: @@ -202,10 +192,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { return '%s added %d file(s): %s.'; case self::TYPE_OBJECT_HAS_CONTRIBUTOR: return '%s added %d contributor(s): %s.'; - case self::TYPE_DASHBOARD_HAS_PANEL: - return '%s added %d panel(s): %s.'; - case self::TYPE_PANEL_HAS_DASHBOARD: - return '%s added %d dashboard(s): %s.'; case self::TYPE_OBJECT_HAS_WATCHER: return '%s added %d watcher(s): %s.'; case self::TYPE_SUBSCRIBED_TO_OBJECT: @@ -228,10 +214,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { return '%s removed %d file(s): %s.'; case self::TYPE_OBJECT_HAS_CONTRIBUTOR: return '%s removed %d contributor(s): %s.'; - case self::TYPE_DASHBOARD_HAS_PANEL: - return '%s removed %d panel(s): %s.'; - case self::TYPE_PANEL_HAS_DASHBOARD: - return '%s removed %d dashboard(s): %s.'; case self::TYPE_OBJECT_HAS_WATCHER: return '%s removed %d watcher(s): %s.'; case self::TYPE_SUBSCRIBED_TO_OBJECT: @@ -254,10 +236,6 @@ final class PhabricatorEdgeConfig extends PhabricatorEdgeConstants { return '%s updated files of %s.'; case self::TYPE_OBJECT_HAS_CONTRIBUTOR: return '%s updated contributors of %s.'; - case self::TYPE_PANEL_HAS_DASHBOARD: - return '%s updated panels for %s.'; - case self::TYPE_PANEL_HAS_DASHBOARD: - return '%s updated dashboards for %s.'; case self::TYPE_OBJECT_HAS_WATCHER: return '%s updated watchers for %s.'; case self::TYPE_SUBSCRIBED_TO_OBJECT: diff --git a/src/infrastructure/internationalization/translation/PhabricatorBaseEnglishTranslation.php b/src/infrastructure/internationalization/translation/PhabricatorBaseEnglishTranslation.php index b31ad81df6..fae2a89df2 100644 --- a/src/infrastructure/internationalization/translation/PhabricatorBaseEnglishTranslation.php +++ b/src/infrastructure/internationalization/translation/PhabricatorBaseEnglishTranslation.php @@ -798,6 +798,39 @@ abstract class PhabricatorBaseEnglishTranslation '%s edited %s project(s) for %s, added %s: %s; removed %s: %s.' => '%s edited projects for %3$s, added: %5$s; removed %7$s.', + '%s added %s panel(s): %s.' => array( + array( + '%s added a panel: %3$s.', + '%s added panels: %3$s.', + ), + ), + + '%s removed %s panel(s): %s.' => array( + array( + '%s removed a panel: %3$s.', + '%s removed panels: %3$s.', + ), + ), + + '%s edited %s panel(s), added %s: %s; removed %s: %s.' => + '%s edited panels, added %4$s; removed %6$s.', + + '%s added %s dashboard(s): %s.' => array( + array( + '%s added a dashboard: %3$s.', + '%s added dashboards: %3$s.', + ), + ), + + '%s removed %s dashboard(s): %s.' => array( + array( + '%s removed a dashboard: %3$s.', + '%s removed dashboards: %3$s.', + ), + ), + + '%s edited %s dashboard(s), added %s: %s; removed %s: %s.' => + '%s edited dashboards, added %4$s; removed %6$s.', ); }