mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-20 12:30:56 +01:00
Rename all ProfilePanels into ProfileMenuItems
Summary: Ref T11957. Test Plan: - Viewed an existing project profile. - Viewed a user profile. - Created a new project. - Edited a profile menu. - Added new profile items. - Grepped for renamed symbols. Reviewers: chad Reviewed By: chad Maniphest Tasks: T11957 Differential Revision: https://secure.phabricator.com/D17028
This commit is contained in:
parent
8480776ccd
commit
42896f9f90
40 changed files with 389 additions and 388 deletions
|
@ -1787,7 +1787,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorApplicationEmailCommandsController' => 'applications/meta/controller/PhabricatorApplicationEmailCommandsController.php',
|
'PhabricatorApplicationEmailCommandsController' => 'applications/meta/controller/PhabricatorApplicationEmailCommandsController.php',
|
||||||
'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php',
|
'PhabricatorApplicationLaunchView' => 'applications/meta/view/PhabricatorApplicationLaunchView.php',
|
||||||
'PhabricatorApplicationPanelController' => 'applications/meta/controller/PhabricatorApplicationPanelController.php',
|
'PhabricatorApplicationPanelController' => 'applications/meta/controller/PhabricatorApplicationPanelController.php',
|
||||||
'PhabricatorApplicationProfilePanel' => 'applications/search/profilepanel/PhabricatorApplicationProfilePanel.php',
|
'PhabricatorApplicationProfileMenuItem' => 'applications/search/menuitem/PhabricatorApplicationProfileMenuItem.php',
|
||||||
'PhabricatorApplicationQuery' => 'applications/meta/query/PhabricatorApplicationQuery.php',
|
'PhabricatorApplicationQuery' => 'applications/meta/query/PhabricatorApplicationQuery.php',
|
||||||
'PhabricatorApplicationSearchController' => 'applications/search/controller/PhabricatorApplicationSearchController.php',
|
'PhabricatorApplicationSearchController' => 'applications/search/controller/PhabricatorApplicationSearchController.php',
|
||||||
'PhabricatorApplicationSearchEngine' => 'applications/search/engine/PhabricatorApplicationSearchEngine.php',
|
'PhabricatorApplicationSearchEngine' => 'applications/search/engine/PhabricatorApplicationSearchEngine.php',
|
||||||
|
@ -2505,7 +2505,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorDisabledUserController' => 'applications/auth/controller/PhabricatorDisabledUserController.php',
|
'PhabricatorDisabledUserController' => 'applications/auth/controller/PhabricatorDisabledUserController.php',
|
||||||
'PhabricatorDisplayPreferencesSettingsPanel' => 'applications/settings/panel/PhabricatorDisplayPreferencesSettingsPanel.php',
|
'PhabricatorDisplayPreferencesSettingsPanel' => 'applications/settings/panel/PhabricatorDisplayPreferencesSettingsPanel.php',
|
||||||
'PhabricatorDisqusAuthProvider' => 'applications/auth/provider/PhabricatorDisqusAuthProvider.php',
|
'PhabricatorDisqusAuthProvider' => 'applications/auth/provider/PhabricatorDisqusAuthProvider.php',
|
||||||
'PhabricatorDividerProfilePanel' => 'applications/search/profilepanel/PhabricatorDividerProfilePanel.php',
|
'PhabricatorDividerProfileMenuItem' => 'applications/search/menuitem/PhabricatorDividerProfileMenuItem.php',
|
||||||
'PhabricatorDivinerApplication' => 'applications/diviner/application/PhabricatorDivinerApplication.php',
|
'PhabricatorDivinerApplication' => 'applications/diviner/application/PhabricatorDivinerApplication.php',
|
||||||
'PhabricatorDoorkeeperApplication' => 'applications/doorkeeper/application/PhabricatorDoorkeeperApplication.php',
|
'PhabricatorDoorkeeperApplication' => 'applications/doorkeeper/application/PhabricatorDoorkeeperApplication.php',
|
||||||
'PhabricatorDraft' => 'applications/draft/storage/PhabricatorDraft.php',
|
'PhabricatorDraft' => 'applications/draft/storage/PhabricatorDraft.php',
|
||||||
|
@ -2828,7 +2828,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorLegalpadDocumentPHIDType' => 'applications/legalpad/phid/PhabricatorLegalpadDocumentPHIDType.php',
|
'PhabricatorLegalpadDocumentPHIDType' => 'applications/legalpad/phid/PhabricatorLegalpadDocumentPHIDType.php',
|
||||||
'PhabricatorLegalpadSignaturePolicyRule' => 'applications/legalpad/policyrule/PhabricatorLegalpadSignaturePolicyRule.php',
|
'PhabricatorLegalpadSignaturePolicyRule' => 'applications/legalpad/policyrule/PhabricatorLegalpadSignaturePolicyRule.php',
|
||||||
'PhabricatorLibraryTestCase' => '__tests__/PhabricatorLibraryTestCase.php',
|
'PhabricatorLibraryTestCase' => '__tests__/PhabricatorLibraryTestCase.php',
|
||||||
'PhabricatorLinkProfilePanel' => 'applications/search/profilepanel/PhabricatorLinkProfilePanel.php',
|
'PhabricatorLinkProfileMenuItem' => 'applications/search/menuitem/PhabricatorLinkProfileMenuItem.php',
|
||||||
'PhabricatorLipsumArtist' => 'applications/lipsum/image/PhabricatorLipsumArtist.php',
|
'PhabricatorLipsumArtist' => 'applications/lipsum/image/PhabricatorLipsumArtist.php',
|
||||||
'PhabricatorLipsumContentSource' => 'infrastructure/contentsource/PhabricatorLipsumContentSource.php',
|
'PhabricatorLipsumContentSource' => 'infrastructure/contentsource/PhabricatorLipsumContentSource.php',
|
||||||
'PhabricatorLipsumGenerateWorkflow' => 'applications/lipsum/management/PhabricatorLipsumGenerateWorkflow.php',
|
'PhabricatorLipsumGenerateWorkflow' => 'applications/lipsum/management/PhabricatorLipsumGenerateWorkflow.php',
|
||||||
|
@ -2966,7 +2966,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorModularTransactionType' => 'applications/transactions/storage/PhabricatorModularTransactionType.php',
|
'PhabricatorModularTransactionType' => 'applications/transactions/storage/PhabricatorModularTransactionType.php',
|
||||||
'PhabricatorMonospacedFontSetting' => 'applications/settings/setting/PhabricatorMonospacedFontSetting.php',
|
'PhabricatorMonospacedFontSetting' => 'applications/settings/setting/PhabricatorMonospacedFontSetting.php',
|
||||||
'PhabricatorMonospacedTextareasSetting' => 'applications/settings/setting/PhabricatorMonospacedTextareasSetting.php',
|
'PhabricatorMonospacedTextareasSetting' => 'applications/settings/setting/PhabricatorMonospacedTextareasSetting.php',
|
||||||
'PhabricatorMotivatorProfilePanel' => 'applications/search/profilepanel/PhabricatorMotivatorProfilePanel.php',
|
'PhabricatorMotivatorProfileMenuItem' => 'applications/search/menuitem/PhabricatorMotivatorProfileMenuItem.php',
|
||||||
'PhabricatorMultiColumnUIExample' => 'applications/uiexample/examples/PhabricatorMultiColumnUIExample.php',
|
'PhabricatorMultiColumnUIExample' => 'applications/uiexample/examples/PhabricatorMultiColumnUIExample.php',
|
||||||
'PhabricatorMultiFactorSettingsPanel' => 'applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php',
|
'PhabricatorMultiFactorSettingsPanel' => 'applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php',
|
||||||
'PhabricatorMultimeterApplication' => 'applications/multimeter/application/PhabricatorMultimeterApplication.php',
|
'PhabricatorMultimeterApplication' => 'applications/multimeter/application/PhabricatorMultimeterApplication.php',
|
||||||
|
@ -3244,7 +3244,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorPeopleCreateGuidanceContext' => 'applications/people/guidance/PhabricatorPeopleCreateGuidanceContext.php',
|
'PhabricatorPeopleCreateGuidanceContext' => 'applications/people/guidance/PhabricatorPeopleCreateGuidanceContext.php',
|
||||||
'PhabricatorPeopleDatasource' => 'applications/people/typeahead/PhabricatorPeopleDatasource.php',
|
'PhabricatorPeopleDatasource' => 'applications/people/typeahead/PhabricatorPeopleDatasource.php',
|
||||||
'PhabricatorPeopleDeleteController' => 'applications/people/controller/PhabricatorPeopleDeleteController.php',
|
'PhabricatorPeopleDeleteController' => 'applications/people/controller/PhabricatorPeopleDeleteController.php',
|
||||||
'PhabricatorPeopleDetailsProfilePanel' => 'applications/people/profilepanel/PhabricatorPeopleDetailsProfilePanel.php',
|
'PhabricatorPeopleDetailsProfileMenuItem' => 'applications/people/menuitem/PhabricatorPeopleDetailsProfileMenuItem.php',
|
||||||
'PhabricatorPeopleDisableController' => 'applications/people/controller/PhabricatorPeopleDisableController.php',
|
'PhabricatorPeopleDisableController' => 'applications/people/controller/PhabricatorPeopleDisableController.php',
|
||||||
'PhabricatorPeopleEmpowerController' => 'applications/people/controller/PhabricatorPeopleEmpowerController.php',
|
'PhabricatorPeopleEmpowerController' => 'applications/people/controller/PhabricatorPeopleEmpowerController.php',
|
||||||
'PhabricatorPeopleExternalPHIDType' => 'applications/people/phid/PhabricatorPeopleExternalPHIDType.php',
|
'PhabricatorPeopleExternalPHIDType' => 'applications/people/phid/PhabricatorPeopleExternalPHIDType.php',
|
||||||
|
@ -3258,7 +3258,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorPeopleLogSearchEngine' => 'applications/people/query/PhabricatorPeopleLogSearchEngine.php',
|
'PhabricatorPeopleLogSearchEngine' => 'applications/people/query/PhabricatorPeopleLogSearchEngine.php',
|
||||||
'PhabricatorPeopleLogsController' => 'applications/people/controller/PhabricatorPeopleLogsController.php',
|
'PhabricatorPeopleLogsController' => 'applications/people/controller/PhabricatorPeopleLogsController.php',
|
||||||
'PhabricatorPeopleMainMenuBarExtension' => 'applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php',
|
'PhabricatorPeopleMainMenuBarExtension' => 'applications/people/extension/PhabricatorPeopleMainMenuBarExtension.php',
|
||||||
'PhabricatorPeopleManageProfilePanel' => 'applications/people/profilepanel/PhabricatorPeopleManageProfilePanel.php',
|
'PhabricatorPeopleManageProfileMenuItem' => 'applications/people/menuitem/PhabricatorPeopleManageProfileMenuItem.php',
|
||||||
'PhabricatorPeopleNewController' => 'applications/people/controller/PhabricatorPeopleNewController.php',
|
'PhabricatorPeopleNewController' => 'applications/people/controller/PhabricatorPeopleNewController.php',
|
||||||
'PhabricatorPeopleNoOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleNoOwnerDatasource.php',
|
'PhabricatorPeopleNoOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleNoOwnerDatasource.php',
|
||||||
'PhabricatorPeopleOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleOwnerDatasource.php',
|
'PhabricatorPeopleOwnerDatasource' => 'applications/people/typeahead/PhabricatorPeopleOwnerDatasource.php',
|
||||||
|
@ -3367,13 +3367,13 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProfileMenuEditEngine' => 'applications/search/editor/PhabricatorProfileMenuEditEngine.php',
|
'PhabricatorProfileMenuEditEngine' => 'applications/search/editor/PhabricatorProfileMenuEditEngine.php',
|
||||||
'PhabricatorProfileMenuEditor' => 'applications/search/editor/PhabricatorProfileMenuEditor.php',
|
'PhabricatorProfileMenuEditor' => 'applications/search/editor/PhabricatorProfileMenuEditor.php',
|
||||||
'PhabricatorProfileMenuEngine' => 'applications/search/engine/PhabricatorProfileMenuEngine.php',
|
'PhabricatorProfileMenuEngine' => 'applications/search/engine/PhabricatorProfileMenuEngine.php',
|
||||||
|
'PhabricatorProfileMenuItem' => 'applications/search/menuitem/PhabricatorProfileMenuItem.php',
|
||||||
'PhabricatorProfileMenuItemConfiguration' => 'applications/search/storage/PhabricatorProfileMenuItemConfiguration.php',
|
'PhabricatorProfileMenuItemConfiguration' => 'applications/search/storage/PhabricatorProfileMenuItemConfiguration.php',
|
||||||
'PhabricatorProfileMenuItemConfigurationQuery' => 'applications/search/query/PhabricatorProfileMenuItemConfigurationQuery.php',
|
'PhabricatorProfileMenuItemConfigurationQuery' => 'applications/search/query/PhabricatorProfileMenuItemConfigurationQuery.php',
|
||||||
'PhabricatorProfileMenuItemConfigurationTransaction' => 'applications/search/storage/PhabricatorProfileMenuItemConfigurationTransaction.php',
|
'PhabricatorProfileMenuItemConfigurationTransaction' => 'applications/search/storage/PhabricatorProfileMenuItemConfigurationTransaction.php',
|
||||||
'PhabricatorProfileMenuItemConfigurationTransactionQuery' => 'applications/search/query/PhabricatorProfileMenuItemConfigurationTransactionQuery.php',
|
'PhabricatorProfileMenuItemConfigurationTransactionQuery' => 'applications/search/query/PhabricatorProfileMenuItemConfigurationTransactionQuery.php',
|
||||||
|
'PhabricatorProfileMenuItemIconSet' => 'applications/search/menuitem/PhabricatorProfileMenuItemIconSet.php',
|
||||||
'PhabricatorProfileMenuItemPHIDType' => 'applications/search/phidtype/PhabricatorProfileMenuItemPHIDType.php',
|
'PhabricatorProfileMenuItemPHIDType' => 'applications/search/phidtype/PhabricatorProfileMenuItemPHIDType.php',
|
||||||
'PhabricatorProfilePanel' => 'applications/search/profilepanel/PhabricatorProfilePanel.php',
|
|
||||||
'PhabricatorProfilePanelIconSet' => 'applications/search/profilepanel/PhabricatorProfilePanelIconSet.php',
|
|
||||||
'PhabricatorProject' => 'applications/project/storage/PhabricatorProject.php',
|
'PhabricatorProject' => 'applications/project/storage/PhabricatorProject.php',
|
||||||
'PhabricatorProjectAddHeraldAction' => 'applications/project/herald/PhabricatorProjectAddHeraldAction.php',
|
'PhabricatorProjectAddHeraldAction' => 'applications/project/herald/PhabricatorProjectAddHeraldAction.php',
|
||||||
'PhabricatorProjectApplication' => 'applications/project/application/PhabricatorProjectApplication.php',
|
'PhabricatorProjectApplication' => 'applications/project/application/PhabricatorProjectApplication.php',
|
||||||
|
@ -3411,7 +3411,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectDatasource' => 'applications/project/typeahead/PhabricatorProjectDatasource.php',
|
'PhabricatorProjectDatasource' => 'applications/project/typeahead/PhabricatorProjectDatasource.php',
|
||||||
'PhabricatorProjectDefaultController' => 'applications/project/controller/PhabricatorProjectDefaultController.php',
|
'PhabricatorProjectDefaultController' => 'applications/project/controller/PhabricatorProjectDefaultController.php',
|
||||||
'PhabricatorProjectDescriptionField' => 'applications/project/customfield/PhabricatorProjectDescriptionField.php',
|
'PhabricatorProjectDescriptionField' => 'applications/project/customfield/PhabricatorProjectDescriptionField.php',
|
||||||
'PhabricatorProjectDetailsProfilePanel' => 'applications/project/profilepanel/PhabricatorProjectDetailsProfilePanel.php',
|
'PhabricatorProjectDetailsProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectDetailsProfileMenuItem.php',
|
||||||
'PhabricatorProjectEditController' => 'applications/project/controller/PhabricatorProjectEditController.php',
|
'PhabricatorProjectEditController' => 'applications/project/controller/PhabricatorProjectEditController.php',
|
||||||
'PhabricatorProjectEditEngine' => 'applications/project/engine/PhabricatorProjectEditEngine.php',
|
'PhabricatorProjectEditEngine' => 'applications/project/engine/PhabricatorProjectEditEngine.php',
|
||||||
'PhabricatorProjectEditPictureController' => 'applications/project/controller/PhabricatorProjectEditPictureController.php',
|
'PhabricatorProjectEditPictureController' => 'applications/project/controller/PhabricatorProjectEditPictureController.php',
|
||||||
|
@ -3432,16 +3432,17 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectLogicalUserDatasource' => 'applications/project/typeahead/PhabricatorProjectLogicalUserDatasource.php',
|
'PhabricatorProjectLogicalUserDatasource' => 'applications/project/typeahead/PhabricatorProjectLogicalUserDatasource.php',
|
||||||
'PhabricatorProjectLogicalViewerDatasource' => 'applications/project/typeahead/PhabricatorProjectLogicalViewerDatasource.php',
|
'PhabricatorProjectLogicalViewerDatasource' => 'applications/project/typeahead/PhabricatorProjectLogicalViewerDatasource.php',
|
||||||
'PhabricatorProjectManageController' => 'applications/project/controller/PhabricatorProjectManageController.php',
|
'PhabricatorProjectManageController' => 'applications/project/controller/PhabricatorProjectManageController.php',
|
||||||
'PhabricatorProjectManageProfilePanel' => 'applications/project/profilepanel/PhabricatorProjectManageProfilePanel.php',
|
'PhabricatorProjectManageProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectManageProfileMenuItem.php',
|
||||||
'PhabricatorProjectMaterializedMemberEdgeType' => 'applications/project/edge/PhabricatorProjectMaterializedMemberEdgeType.php',
|
'PhabricatorProjectMaterializedMemberEdgeType' => 'applications/project/edge/PhabricatorProjectMaterializedMemberEdgeType.php',
|
||||||
'PhabricatorProjectMemberListView' => 'applications/project/view/PhabricatorProjectMemberListView.php',
|
'PhabricatorProjectMemberListView' => 'applications/project/view/PhabricatorProjectMemberListView.php',
|
||||||
'PhabricatorProjectMemberOfProjectEdgeType' => 'applications/project/edge/PhabricatorProjectMemberOfProjectEdgeType.php',
|
'PhabricatorProjectMemberOfProjectEdgeType' => 'applications/project/edge/PhabricatorProjectMemberOfProjectEdgeType.php',
|
||||||
'PhabricatorProjectMembersAddController' => 'applications/project/controller/PhabricatorProjectMembersAddController.php',
|
'PhabricatorProjectMembersAddController' => 'applications/project/controller/PhabricatorProjectMembersAddController.php',
|
||||||
'PhabricatorProjectMembersDatasource' => 'applications/project/typeahead/PhabricatorProjectMembersDatasource.php',
|
'PhabricatorProjectMembersDatasource' => 'applications/project/typeahead/PhabricatorProjectMembersDatasource.php',
|
||||||
'PhabricatorProjectMembersPolicyRule' => 'applications/project/policyrule/PhabricatorProjectMembersPolicyRule.php',
|
'PhabricatorProjectMembersPolicyRule' => 'applications/project/policyrule/PhabricatorProjectMembersPolicyRule.php',
|
||||||
'PhabricatorProjectMembersProfilePanel' => 'applications/project/profilepanel/PhabricatorProjectMembersProfilePanel.php',
|
'PhabricatorProjectMembersProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectMembersProfileMenuItem.php',
|
||||||
'PhabricatorProjectMembersRemoveController' => 'applications/project/controller/PhabricatorProjectMembersRemoveController.php',
|
'PhabricatorProjectMembersRemoveController' => 'applications/project/controller/PhabricatorProjectMembersRemoveController.php',
|
||||||
'PhabricatorProjectMembersViewController' => 'applications/project/controller/PhabricatorProjectMembersViewController.php',
|
'PhabricatorProjectMembersViewController' => 'applications/project/controller/PhabricatorProjectMembersViewController.php',
|
||||||
|
'PhabricatorProjectMenuItemController' => 'applications/project/controller/PhabricatorProjectMenuItemController.php',
|
||||||
'PhabricatorProjectMoveController' => 'applications/project/controller/PhabricatorProjectMoveController.php',
|
'PhabricatorProjectMoveController' => 'applications/project/controller/PhabricatorProjectMoveController.php',
|
||||||
'PhabricatorProjectNameContextFreeGrammar' => 'applications/project/lipsum/PhabricatorProjectNameContextFreeGrammar.php',
|
'PhabricatorProjectNameContextFreeGrammar' => 'applications/project/lipsum/PhabricatorProjectNameContextFreeGrammar.php',
|
||||||
'PhabricatorProjectNoProjectsDatasource' => 'applications/project/typeahead/PhabricatorProjectNoProjectsDatasource.php',
|
'PhabricatorProjectNoProjectsDatasource' => 'applications/project/typeahead/PhabricatorProjectNoProjectsDatasource.php',
|
||||||
|
@ -3449,8 +3450,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectOrUserDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserDatasource.php',
|
'PhabricatorProjectOrUserDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserDatasource.php',
|
||||||
'PhabricatorProjectOrUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserFunctionDatasource.php',
|
'PhabricatorProjectOrUserFunctionDatasource' => 'applications/project/typeahead/PhabricatorProjectOrUserFunctionDatasource.php',
|
||||||
'PhabricatorProjectPHIDResolver' => 'applications/phid/resolver/PhabricatorProjectPHIDResolver.php',
|
'PhabricatorProjectPHIDResolver' => 'applications/phid/resolver/PhabricatorProjectPHIDResolver.php',
|
||||||
'PhabricatorProjectPanelController' => 'applications/project/controller/PhabricatorProjectPanelController.php',
|
'PhabricatorProjectPointsProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectPointsProfileMenuItem.php',
|
||||||
'PhabricatorProjectPointsProfilePanel' => 'applications/project/profilepanel/PhabricatorProjectPointsProfilePanel.php',
|
|
||||||
'PhabricatorProjectProfileController' => 'applications/project/controller/PhabricatorProjectProfileController.php',
|
'PhabricatorProjectProfileController' => 'applications/project/controller/PhabricatorProjectProfileController.php',
|
||||||
'PhabricatorProjectProfileMenuEngine' => 'applications/project/engine/PhabricatorProjectProfileMenuEngine.php',
|
'PhabricatorProjectProfileMenuEngine' => 'applications/project/engine/PhabricatorProjectProfileMenuEngine.php',
|
||||||
'PhabricatorProjectProjectHasMemberEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasMemberEdgeType.php',
|
'PhabricatorProjectProjectHasMemberEdgeType' => 'applications/project/edge/PhabricatorProjectProjectHasMemberEdgeType.php',
|
||||||
|
@ -3468,7 +3468,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectStatus' => 'applications/project/constants/PhabricatorProjectStatus.php',
|
'PhabricatorProjectStatus' => 'applications/project/constants/PhabricatorProjectStatus.php',
|
||||||
'PhabricatorProjectSubprojectWarningController' => 'applications/project/controller/PhabricatorProjectSubprojectWarningController.php',
|
'PhabricatorProjectSubprojectWarningController' => 'applications/project/controller/PhabricatorProjectSubprojectWarningController.php',
|
||||||
'PhabricatorProjectSubprojectsController' => 'applications/project/controller/PhabricatorProjectSubprojectsController.php',
|
'PhabricatorProjectSubprojectsController' => 'applications/project/controller/PhabricatorProjectSubprojectsController.php',
|
||||||
'PhabricatorProjectSubprojectsProfilePanel' => 'applications/project/profilepanel/PhabricatorProjectSubprojectsProfilePanel.php',
|
'PhabricatorProjectSubprojectsProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectSubprojectsProfileMenuItem.php',
|
||||||
'PhabricatorProjectTestDataGenerator' => 'applications/project/lipsum/PhabricatorProjectTestDataGenerator.php',
|
'PhabricatorProjectTestDataGenerator' => 'applications/project/lipsum/PhabricatorProjectTestDataGenerator.php',
|
||||||
'PhabricatorProjectTransaction' => 'applications/project/storage/PhabricatorProjectTransaction.php',
|
'PhabricatorProjectTransaction' => 'applications/project/storage/PhabricatorProjectTransaction.php',
|
||||||
'PhabricatorProjectTransactionEditor' => 'applications/project/editor/PhabricatorProjectTransactionEditor.php',
|
'PhabricatorProjectTransactionEditor' => 'applications/project/editor/PhabricatorProjectTransactionEditor.php',
|
||||||
|
@ -3481,7 +3481,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php',
|
'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php',
|
||||||
'PhabricatorProjectWatcherListView' => 'applications/project/view/PhabricatorProjectWatcherListView.php',
|
'PhabricatorProjectWatcherListView' => 'applications/project/view/PhabricatorProjectWatcherListView.php',
|
||||||
'PhabricatorProjectWorkboardBackgroundColor' => 'applications/project/constants/PhabricatorProjectWorkboardBackgroundColor.php',
|
'PhabricatorProjectWorkboardBackgroundColor' => 'applications/project/constants/PhabricatorProjectWorkboardBackgroundColor.php',
|
||||||
'PhabricatorProjectWorkboardProfilePanel' => 'applications/project/profilepanel/PhabricatorProjectWorkboardProfilePanel.php',
|
'PhabricatorProjectWorkboardProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectWorkboardProfileMenuItem.php',
|
||||||
'PhabricatorProjectsCurtainExtension' => 'applications/project/engineextension/PhabricatorProjectsCurtainExtension.php',
|
'PhabricatorProjectsCurtainExtension' => 'applications/project/engineextension/PhabricatorProjectsCurtainExtension.php',
|
||||||
'PhabricatorProjectsEditEngineExtension' => 'applications/project/engineextension/PhabricatorProjectsEditEngineExtension.php',
|
'PhabricatorProjectsEditEngineExtension' => 'applications/project/engineextension/PhabricatorProjectsEditEngineExtension.php',
|
||||||
'PhabricatorProjectsEditField' => 'applications/transactions/editfield/PhabricatorProjectsEditField.php',
|
'PhabricatorProjectsEditField' => 'applications/transactions/editfield/PhabricatorProjectsEditField.php',
|
||||||
|
@ -6610,7 +6610,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorApplicationEmailCommandsController' => 'PhabricatorApplicationsController',
|
'PhabricatorApplicationEmailCommandsController' => 'PhabricatorApplicationsController',
|
||||||
'PhabricatorApplicationLaunchView' => 'AphrontTagView',
|
'PhabricatorApplicationLaunchView' => 'AphrontTagView',
|
||||||
'PhabricatorApplicationPanelController' => 'PhabricatorApplicationsController',
|
'PhabricatorApplicationPanelController' => 'PhabricatorApplicationsController',
|
||||||
'PhabricatorApplicationProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorApplicationProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorApplicationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorApplicationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorApplicationSearchController' => 'PhabricatorSearchBaseController',
|
'PhabricatorApplicationSearchController' => 'PhabricatorSearchBaseController',
|
||||||
'PhabricatorApplicationSearchEngine' => 'Phobject',
|
'PhabricatorApplicationSearchEngine' => 'Phobject',
|
||||||
|
@ -7452,7 +7452,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorDisabledUserController' => 'PhabricatorAuthController',
|
'PhabricatorDisabledUserController' => 'PhabricatorAuthController',
|
||||||
'PhabricatorDisplayPreferencesSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
|
'PhabricatorDisplayPreferencesSettingsPanel' => 'PhabricatorEditEngineSettingsPanel',
|
||||||
'PhabricatorDisqusAuthProvider' => 'PhabricatorOAuth2AuthProvider',
|
'PhabricatorDisqusAuthProvider' => 'PhabricatorOAuth2AuthProvider',
|
||||||
'PhabricatorDividerProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorDividerProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorDivinerApplication' => 'PhabricatorApplication',
|
'PhabricatorDivinerApplication' => 'PhabricatorApplication',
|
||||||
'PhabricatorDoorkeeperApplication' => 'PhabricatorApplication',
|
'PhabricatorDoorkeeperApplication' => 'PhabricatorApplication',
|
||||||
'PhabricatorDraft' => 'PhabricatorDraftDAO',
|
'PhabricatorDraft' => 'PhabricatorDraftDAO',
|
||||||
|
@ -7820,7 +7820,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorLegalpadDocumentPHIDType' => 'PhabricatorPHIDType',
|
'PhabricatorLegalpadDocumentPHIDType' => 'PhabricatorPHIDType',
|
||||||
'PhabricatorLegalpadSignaturePolicyRule' => 'PhabricatorPolicyRule',
|
'PhabricatorLegalpadSignaturePolicyRule' => 'PhabricatorPolicyRule',
|
||||||
'PhabricatorLibraryTestCase' => 'PhutilLibraryTestCase',
|
'PhabricatorLibraryTestCase' => 'PhutilLibraryTestCase',
|
||||||
'PhabricatorLinkProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorLinkProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorLipsumArtist' => 'Phobject',
|
'PhabricatorLipsumArtist' => 'Phobject',
|
||||||
'PhabricatorLipsumContentSource' => 'PhabricatorContentSource',
|
'PhabricatorLipsumContentSource' => 'PhabricatorContentSource',
|
||||||
'PhabricatorLipsumGenerateWorkflow' => 'PhabricatorLipsumManagementWorkflow',
|
'PhabricatorLipsumGenerateWorkflow' => 'PhabricatorLipsumManagementWorkflow',
|
||||||
|
@ -7968,7 +7968,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorModularTransactionType' => 'Phobject',
|
'PhabricatorModularTransactionType' => 'Phobject',
|
||||||
'PhabricatorMonospacedFontSetting' => 'PhabricatorStringSetting',
|
'PhabricatorMonospacedFontSetting' => 'PhabricatorStringSetting',
|
||||||
'PhabricatorMonospacedTextareasSetting' => 'PhabricatorSelectSetting',
|
'PhabricatorMonospacedTextareasSetting' => 'PhabricatorSelectSetting',
|
||||||
'PhabricatorMotivatorProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorMotivatorProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorMultiColumnUIExample' => 'PhabricatorUIExample',
|
'PhabricatorMultiColumnUIExample' => 'PhabricatorUIExample',
|
||||||
'PhabricatorMultiFactorSettingsPanel' => 'PhabricatorSettingsPanel',
|
'PhabricatorMultiFactorSettingsPanel' => 'PhabricatorSettingsPanel',
|
||||||
'PhabricatorMultimeterApplication' => 'PhabricatorApplication',
|
'PhabricatorMultimeterApplication' => 'PhabricatorApplication',
|
||||||
|
@ -8310,7 +8310,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorPeopleCreateGuidanceContext' => 'PhabricatorGuidanceContext',
|
'PhabricatorPeopleCreateGuidanceContext' => 'PhabricatorGuidanceContext',
|
||||||
'PhabricatorPeopleDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorPeopleDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
'PhabricatorPeopleDeleteController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleDeleteController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleDetailsProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorPeopleDetailsProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorPeopleDisableController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleDisableController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleEmpowerController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleEmpowerController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleExternalPHIDType' => 'PhabricatorPHIDType',
|
'PhabricatorPeopleExternalPHIDType' => 'PhabricatorPHIDType',
|
||||||
|
@ -8324,7 +8324,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorPeopleLogSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
'PhabricatorPeopleLogSearchEngine' => 'PhabricatorApplicationSearchEngine',
|
||||||
'PhabricatorPeopleLogsController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleLogsController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
|
'PhabricatorPeopleMainMenuBarExtension' => 'PhabricatorMainMenuBarExtension',
|
||||||
'PhabricatorPeopleManageProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorPeopleManageProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorPeopleNewController' => 'PhabricatorPeopleController',
|
'PhabricatorPeopleNewController' => 'PhabricatorPeopleController',
|
||||||
'PhabricatorPeopleNoOwnerDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorPeopleNoOwnerDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
'PhabricatorPeopleOwnerDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
'PhabricatorPeopleOwnerDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||||
|
@ -8453,6 +8453,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProfileMenuEditEngine' => 'PhabricatorEditEngine',
|
'PhabricatorProfileMenuEditEngine' => 'PhabricatorEditEngine',
|
||||||
'PhabricatorProfileMenuEditor' => 'PhabricatorApplicationTransactionEditor',
|
'PhabricatorProfileMenuEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||||
'PhabricatorProfileMenuEngine' => 'Phobject',
|
'PhabricatorProfileMenuEngine' => 'Phobject',
|
||||||
|
'PhabricatorProfileMenuItem' => 'Phobject',
|
||||||
'PhabricatorProfileMenuItemConfiguration' => array(
|
'PhabricatorProfileMenuItemConfiguration' => array(
|
||||||
'PhabricatorSearchDAO',
|
'PhabricatorSearchDAO',
|
||||||
'PhabricatorPolicyInterface',
|
'PhabricatorPolicyInterface',
|
||||||
|
@ -8462,9 +8463,8 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProfileMenuItemConfigurationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
'PhabricatorProfileMenuItemConfigurationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
|
||||||
'PhabricatorProfileMenuItemConfigurationTransaction' => 'PhabricatorApplicationTransaction',
|
'PhabricatorProfileMenuItemConfigurationTransaction' => 'PhabricatorApplicationTransaction',
|
||||||
'PhabricatorProfileMenuItemConfigurationTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
'PhabricatorProfileMenuItemConfigurationTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
|
||||||
|
'PhabricatorProfileMenuItemIconSet' => 'PhabricatorIconSet',
|
||||||
'PhabricatorProfileMenuItemPHIDType' => 'PhabricatorPHIDType',
|
'PhabricatorProfileMenuItemPHIDType' => 'PhabricatorPHIDType',
|
||||||
'PhabricatorProfilePanel' => 'Phobject',
|
|
||||||
'PhabricatorProfilePanelIconSet' => 'PhabricatorIconSet',
|
|
||||||
'PhabricatorProject' => array(
|
'PhabricatorProject' => array(
|
||||||
'PhabricatorProjectDAO',
|
'PhabricatorProjectDAO',
|
||||||
'PhabricatorApplicationTransactionInterface',
|
'PhabricatorApplicationTransactionInterface',
|
||||||
|
@ -8525,7 +8525,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorProjectDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
'PhabricatorProjectDefaultController' => 'PhabricatorProjectBoardController',
|
'PhabricatorProjectDefaultController' => 'PhabricatorProjectBoardController',
|
||||||
'PhabricatorProjectDescriptionField' => 'PhabricatorProjectStandardCustomField',
|
'PhabricatorProjectDescriptionField' => 'PhabricatorProjectStandardCustomField',
|
||||||
'PhabricatorProjectDetailsProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorProjectDetailsProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorProjectEditController' => 'PhabricatorProjectController',
|
'PhabricatorProjectEditController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectEditEngine' => 'PhabricatorEditEngine',
|
'PhabricatorProjectEditEngine' => 'PhabricatorEditEngine',
|
||||||
'PhabricatorProjectEditPictureController' => 'PhabricatorProjectController',
|
'PhabricatorProjectEditPictureController' => 'PhabricatorProjectController',
|
||||||
|
@ -8545,16 +8545,17 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectLogicalUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
'PhabricatorProjectLogicalUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||||
'PhabricatorProjectLogicalViewerDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorProjectLogicalViewerDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
'PhabricatorProjectManageController' => 'PhabricatorProjectController',
|
'PhabricatorProjectManageController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectManageProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorProjectManageProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorProjectMaterializedMemberEdgeType' => 'PhabricatorEdgeType',
|
'PhabricatorProjectMaterializedMemberEdgeType' => 'PhabricatorEdgeType',
|
||||||
'PhabricatorProjectMemberListView' => 'PhabricatorProjectUserListView',
|
'PhabricatorProjectMemberListView' => 'PhabricatorProjectUserListView',
|
||||||
'PhabricatorProjectMemberOfProjectEdgeType' => 'PhabricatorEdgeType',
|
'PhabricatorProjectMemberOfProjectEdgeType' => 'PhabricatorEdgeType',
|
||||||
'PhabricatorProjectMembersAddController' => 'PhabricatorProjectController',
|
'PhabricatorProjectMembersAddController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectMembersDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
'PhabricatorProjectMembersDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||||
'PhabricatorProjectMembersPolicyRule' => 'PhabricatorPolicyRule',
|
'PhabricatorProjectMembersPolicyRule' => 'PhabricatorPolicyRule',
|
||||||
'PhabricatorProjectMembersProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorProjectMembersProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorProjectMembersRemoveController' => 'PhabricatorProjectController',
|
'PhabricatorProjectMembersRemoveController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectMembersViewController' => 'PhabricatorProjectController',
|
'PhabricatorProjectMembersViewController' => 'PhabricatorProjectController',
|
||||||
|
'PhabricatorProjectMenuItemController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectMoveController' => 'PhabricatorProjectController',
|
'PhabricatorProjectMoveController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectNameContextFreeGrammar' => 'PhutilContextFreeGrammar',
|
'PhabricatorProjectNameContextFreeGrammar' => 'PhutilContextFreeGrammar',
|
||||||
'PhabricatorProjectNoProjectsDatasource' => 'PhabricatorTypeaheadDatasource',
|
'PhabricatorProjectNoProjectsDatasource' => 'PhabricatorTypeaheadDatasource',
|
||||||
|
@ -8562,8 +8563,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectOrUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
'PhabricatorProjectOrUserDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||||
'PhabricatorProjectOrUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
'PhabricatorProjectOrUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
|
||||||
'PhabricatorProjectPHIDResolver' => 'PhabricatorPHIDResolver',
|
'PhabricatorProjectPHIDResolver' => 'PhabricatorPHIDResolver',
|
||||||
'PhabricatorProjectPanelController' => 'PhabricatorProjectController',
|
'PhabricatorProjectPointsProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorProjectPointsProfilePanel' => 'PhabricatorProfilePanel',
|
|
||||||
'PhabricatorProjectProfileController' => 'PhabricatorProjectController',
|
'PhabricatorProjectProfileController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectProfileMenuEngine' => 'PhabricatorProfileMenuEngine',
|
'PhabricatorProjectProfileMenuEngine' => 'PhabricatorProfileMenuEngine',
|
||||||
'PhabricatorProjectProjectHasMemberEdgeType' => 'PhabricatorEdgeType',
|
'PhabricatorProjectProjectHasMemberEdgeType' => 'PhabricatorEdgeType',
|
||||||
|
@ -8584,7 +8584,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectStatus' => 'Phobject',
|
'PhabricatorProjectStatus' => 'Phobject',
|
||||||
'PhabricatorProjectSubprojectWarningController' => 'PhabricatorProjectController',
|
'PhabricatorProjectSubprojectWarningController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectSubprojectsController' => 'PhabricatorProjectController',
|
'PhabricatorProjectSubprojectsController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectSubprojectsProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorProjectSubprojectsProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorProjectTestDataGenerator' => 'PhabricatorTestDataGenerator',
|
'PhabricatorProjectTestDataGenerator' => 'PhabricatorTestDataGenerator',
|
||||||
'PhabricatorProjectTransaction' => 'PhabricatorApplicationTransaction',
|
'PhabricatorProjectTransaction' => 'PhabricatorApplicationTransaction',
|
||||||
'PhabricatorProjectTransactionEditor' => 'PhabricatorApplicationTransactionEditor',
|
'PhabricatorProjectTransactionEditor' => 'PhabricatorApplicationTransactionEditor',
|
||||||
|
@ -8597,7 +8597,7 @@ phutil_register_library_map(array(
|
||||||
'PhabricatorProjectWatchController' => 'PhabricatorProjectController',
|
'PhabricatorProjectWatchController' => 'PhabricatorProjectController',
|
||||||
'PhabricatorProjectWatcherListView' => 'PhabricatorProjectUserListView',
|
'PhabricatorProjectWatcherListView' => 'PhabricatorProjectUserListView',
|
||||||
'PhabricatorProjectWorkboardBackgroundColor' => 'Phobject',
|
'PhabricatorProjectWorkboardBackgroundColor' => 'Phobject',
|
||||||
'PhabricatorProjectWorkboardProfilePanel' => 'PhabricatorProfilePanel',
|
'PhabricatorProjectWorkboardProfileMenuItem' => 'PhabricatorProfileMenuItem',
|
||||||
'PhabricatorProjectsCurtainExtension' => 'PHUICurtainExtension',
|
'PhabricatorProjectsCurtainExtension' => 'PHUICurtainExtension',
|
||||||
'PhabricatorProjectsEditEngineExtension' => 'PhabricatorEditEngineExtension',
|
'PhabricatorProjectsEditEngineExtension' => 'PhabricatorEditEngineExtension',
|
||||||
'PhabricatorProjectsEditField' => 'PhabricatorTokenizerEditField',
|
'PhabricatorProjectsEditField' => 'PhabricatorTokenizerEditField',
|
||||||
|
|
|
@ -627,18 +627,18 @@ abstract class PhabricatorApplication
|
||||||
return $base.'(?:query/(?P<queryKey>[^/]+)/)?';
|
return $base.'(?:query/(?P<queryKey>[^/]+)/)?';
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getPanelRouting($controller) {
|
protected function getProfileMenuRouting($controller) {
|
||||||
$edit_route = $this->getEditRoutePattern();
|
$edit_route = $this->getEditRoutePattern();
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'(?P<panelAction>view)/(?P<panelID>[^/]+)/' => $controller,
|
'(?P<itemAction>view)/(?P<itemID>[^/]+)/' => $controller,
|
||||||
'(?P<panelAction>hide)/(?P<panelID>[^/]+)/' => $controller,
|
'(?P<itemAction>hide)/(?P<itemID>[^/]+)/' => $controller,
|
||||||
'(?P<panelAction>default)/(?P<panelID>[^/]+)/' => $controller,
|
'(?P<itemAction>default)/(?P<itemID>[^/]+)/' => $controller,
|
||||||
'(?P<panelAction>configure)/' => $controller,
|
'(?P<itemAction>configure)/' => $controller,
|
||||||
'(?P<panelAction>reorder)/' => $controller,
|
'(?P<itemAction>reorder)/' => $controller,
|
||||||
'(?P<panelAction>edit)/'.$edit_route => $controller,
|
'(?P<itemAction>edit)/'.$edit_route => $controller,
|
||||||
'(?P<panelAction>new)/(?<panelKey>[^/]+)/'.$edit_route => $controller,
|
'(?P<itemAction>new)/(?<itemKey>[^/]+)/'.$edit_route => $controller,
|
||||||
'(?P<panelAction>builtin)/(?<panelID>[^/]+)/'.$edit_route
|
'(?P<itemAction>builtin)/(?<itemID>[^/]+)/'.$edit_route
|
||||||
=> $controller,
|
=> $controller,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,8 +71,8 @@ final class PhabricatorPeopleApplication extends PhabricatorApplication {
|
||||||
),
|
),
|
||||||
'/p/(?P<username>[\w._-]+)/' => array(
|
'/p/(?P<username>[\w._-]+)/' => array(
|
||||||
'' => 'PhabricatorPeopleProfileViewController',
|
'' => 'PhabricatorPeopleProfileViewController',
|
||||||
'panel/'
|
'item/' => $this->getProfileMenuRouting(
|
||||||
=> $this->getPanelRouting('PhabricatorPeopleProfilePanelController'),
|
'PhabricatorPeopleProfileMenuController'),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,7 @@ final class PhabricatorPeopleProfileEditController
|
||||||
$crumbs->setBorder(true);
|
$crumbs->setBorder(true);
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::PANEL_MANAGE);
|
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::ITEM_MANAGE);
|
||||||
|
|
||||||
$header = id(new PHUIHeaderView())
|
$header = id(new PHUIHeaderView())
|
||||||
->setHeader(pht('Edit Profile: %s', $user->getFullName()))
|
->setHeader(pht('Edit Profile: %s', $user->getFullName()))
|
||||||
|
|
|
@ -43,7 +43,7 @@ final class PhabricatorPeopleProfileManageController
|
||||||
$name = $user->getUsername();
|
$name = $user->getUsername();
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::PANEL_MANAGE);
|
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::ITEM_MANAGE);
|
||||||
|
|
||||||
$timeline = $this->buildTransactionTimeline(
|
$timeline = $this->buildTransactionTimeline(
|
||||||
$user,
|
$user,
|
||||||
|
|
|
@ -256,7 +256,7 @@ final class PhabricatorPeopleProfilePictureController
|
||||||
$crumbs->setBorder(true);
|
$crumbs->setBorder(true);
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::PANEL_MANAGE);
|
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::ITEM_MANAGE);
|
||||||
|
|
||||||
$header = id(new PHUIHeaderView())
|
$header = id(new PHUIHeaderView())
|
||||||
->setHeader(pht('Edit Profile Picture'))
|
->setHeader(pht('Edit Profile Picture'))
|
||||||
|
|
|
@ -78,7 +78,7 @@ final class PhabricatorPeopleProfileViewController
|
||||||
));
|
));
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::PANEL_PROFILE);
|
$nav->selectFilter(PhabricatorPeopleProfileMenuEngine::ITEM_PROFILE);
|
||||||
|
|
||||||
$crumbs = $this->buildApplicationCrumbs();
|
$crumbs = $this->buildApplicationCrumbs();
|
||||||
$crumbs->setBorder(true);
|
$crumbs->setBorder(true);
|
||||||
|
|
|
@ -3,28 +3,28 @@
|
||||||
final class PhabricatorPeopleProfileMenuEngine
|
final class PhabricatorPeopleProfileMenuEngine
|
||||||
extends PhabricatorProfileMenuEngine {
|
extends PhabricatorProfileMenuEngine {
|
||||||
|
|
||||||
const PANEL_PROFILE = 'people.profile';
|
const ITEM_PROFILE = 'people.profile';
|
||||||
const PANEL_MANAGE = 'people.manage';
|
const ITEM_MANAGE = 'people.manage';
|
||||||
|
|
||||||
protected function isMenuEngineConfigurable() {
|
protected function isMenuEngineConfigurable() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getPanelURI($path) {
|
protected function getItemURI($path) {
|
||||||
$user = $this->getProfileObject();
|
$user = $this->getProfileObject();
|
||||||
$username = $user->getUsername();
|
$username = $user->getUsername();
|
||||||
$username = phutil_escape_uri($username);
|
$username = phutil_escape_uri($username);
|
||||||
return "/p/{$username}/panel/{$path}";
|
return "/p/{$username}/item/{$path}";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getBuiltinProfilePanels($object) {
|
protected function getBuiltinProfileItems($object) {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
$panels = array();
|
$items = array();
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(self::PANEL_PROFILE)
|
->setBuiltinKey(self::ITEM_PROFILE)
|
||||||
->setMenuItemKey(PhabricatorPeopleDetailsProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorPeopleDetailsProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
$have_maniphest = PhabricatorApplication::isClassInstalledForViewer(
|
$have_maniphest = PhabricatorApplication::isClassInstalledForViewer(
|
||||||
'PhabricatorManiphestApplication',
|
'PhabricatorManiphestApplication',
|
||||||
|
@ -34,9 +34,9 @@ final class PhabricatorPeopleProfileMenuEngine
|
||||||
'/maniphest/?statuses=open()&assigned=%s#R',
|
'/maniphest/?statuses=open()&assigned=%s#R',
|
||||||
$object->getPHID());
|
$object->getPHID());
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey('tasks')
|
->setBuiltinKey('tasks')
|
||||||
->setMenuItemKey(PhabricatorLinkProfilePanel::PANELKEY)
|
->setMenuItemKey(PhabricatorLinkProfileMenuItem::MENUITEMKEY)
|
||||||
->setMenuItemProperty('icon', 'maniphest')
|
->setMenuItemProperty('icon', 'maniphest')
|
||||||
->setMenuItemProperty('name', pht('Open Tasks'))
|
->setMenuItemProperty('name', pht('Open Tasks'))
|
||||||
->setMenuItemProperty('uri', $uri);
|
->setMenuItemProperty('uri', $uri);
|
||||||
|
@ -50,9 +50,9 @@ final class PhabricatorPeopleProfileMenuEngine
|
||||||
'/differential/?authors=%s#R',
|
'/differential/?authors=%s#R',
|
||||||
$object->getPHID());
|
$object->getPHID());
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey('revisions')
|
->setBuiltinKey('revisions')
|
||||||
->setMenuItemKey(PhabricatorLinkProfilePanel::PANELKEY)
|
->setMenuItemKey(PhabricatorLinkProfileMenuItem::MENUITEMKEY)
|
||||||
->setMenuItemProperty('icon', 'differential')
|
->setMenuItemProperty('icon', 'differential')
|
||||||
->setMenuItemProperty('name', pht('Revisions'))
|
->setMenuItemProperty('name', pht('Revisions'))
|
||||||
->setMenuItemProperty('uri', $uri);
|
->setMenuItemProperty('uri', $uri);
|
||||||
|
@ -66,19 +66,19 @@ final class PhabricatorPeopleProfileMenuEngine
|
||||||
'/audit/?authors=%s#R',
|
'/audit/?authors=%s#R',
|
||||||
$object->getPHID());
|
$object->getPHID());
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey('commits')
|
->setBuiltinKey('commits')
|
||||||
->setMenuItemKey(PhabricatorLinkProfilePanel::PANELKEY)
|
->setMenuItemKey(PhabricatorLinkProfileMenuItem::MENUITEMKEY)
|
||||||
->setMenuItemProperty('icon', 'diffusion')
|
->setMenuItemProperty('icon', 'diffusion')
|
||||||
->setMenuItemProperty('name', pht('Commits'))
|
->setMenuItemProperty('name', pht('Commits'))
|
||||||
->setMenuItemProperty('uri', $uri);
|
->setMenuItemProperty('uri', $uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(self::PANEL_MANAGE)
|
->setBuiltinKey(self::ITEM_MANAGE)
|
||||||
->setMenuItemKey(PhabricatorPeopleManageProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorPeopleManageProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
return $panels;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorPeopleDetailsProfilePanel
|
final class PhabricatorPeopleDetailsProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'people.details';
|
const MENUITEMKEY = 'people.details';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('User Details');
|
return pht('User Details');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorPeopleManageProfilePanel
|
final class PhabricatorPeopleManageProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'people.manage';
|
const MENUITEMKEY = 'people.manage';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Manage User');
|
return pht('Manage User');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ final class PhabricatorPeopleManageProfilePanel
|
||||||
return pht('Manage');
|
return pht('Manage');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canHidePanel(
|
public function canHideMenuItem(
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
PhabricatorProfileMenuItemConfiguration $config) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
|
@ -61,8 +61,8 @@ final class PhabricatorProjectApplication extends PhabricatorApplication {
|
||||||
=> 'PhabricatorProjectEditPictureController',
|
=> 'PhabricatorProjectEditPictureController',
|
||||||
$this->getEditRoutePattern('edit/')
|
$this->getEditRoutePattern('edit/')
|
||||||
=> 'PhabricatorProjectEditController',
|
=> 'PhabricatorProjectEditController',
|
||||||
'(?P<projectID>[1-9]\d*)/panel/'
|
'(?P<projectID>[1-9]\d*)/item/' => $this->getProfileMenuRouting(
|
||||||
=> $this->getPanelRouting('PhabricatorProjectPanelController'),
|
'PhabricatorProjectMenuItemController'),
|
||||||
'subprojects/(?P<id>[1-9]\d*)/'
|
'subprojects/(?P<id>[1-9]\d*)/'
|
||||||
=> 'PhabricatorProjectSubprojectsController',
|
=> 'PhabricatorProjectSubprojectsController',
|
||||||
'board/(?P<id>[1-9]\d*)/'.
|
'board/(?P<id>[1-9]\d*)/'.
|
||||||
|
|
|
@ -6,7 +6,7 @@ abstract class PhabricatorProjectBoardController
|
||||||
protected function getProfileMenu() {
|
protected function getProfileMenu() {
|
||||||
$menu = parent::getProfileMenu();
|
$menu = parent::getProfileMenu();
|
||||||
|
|
||||||
$menu->selectFilter(PhabricatorProject::PANEL_WORKBOARD);
|
$menu->selectFilter(PhabricatorProject::ITEM_WORKBOARD);
|
||||||
$menu->addClass('project-board-nav');
|
$menu->addClass('project-board-nav');
|
||||||
|
|
||||||
return $menu;
|
return $menu;
|
||||||
|
|
|
@ -170,7 +170,7 @@ final class PhabricatorProjectBoardViewController
|
||||||
}
|
}
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorProject::PANEL_WORKBOARD);
|
$nav->selectFilter(PhabricatorProject::ITEM_WORKBOARD);
|
||||||
|
|
||||||
$crumbs = $this->buildApplicationCrumbs();
|
$crumbs = $this->buildApplicationCrumbs();
|
||||||
$crumbs->addTextCrumb(pht('Workboard'));
|
$crumbs->addTextCrumb(pht('Workboard'));
|
||||||
|
@ -936,7 +936,7 @@ final class PhabricatorProjectBoardViewController
|
||||||
if ($set_default) {
|
if ($set_default) {
|
||||||
$this
|
$this
|
||||||
->getProfileMenuEngine()
|
->getProfileMenuEngine()
|
||||||
->adjustDefault(PhabricatorProject::PANEL_WORKBOARD);
|
->adjustDefault(PhabricatorProject::ITEM_WORKBOARD);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($request->isFormPost()) {
|
if ($request->isFormPost()) {
|
||||||
|
|
|
@ -255,7 +255,7 @@ final class PhabricatorProjectEditPictureController
|
||||||
->setForm($upload_form);
|
->setForm($upload_form);
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorProject::PANEL_MANAGE);
|
$nav->selectFilter(PhabricatorProject::ITEM_MANAGE);
|
||||||
|
|
||||||
return $this->newPage()
|
return $this->newPage()
|
||||||
->setTitle($title)
|
->setTitle($title)
|
||||||
|
|
|
@ -39,7 +39,7 @@ final class PhabricatorProjectManageController
|
||||||
$timeline->setShouldTerminate(true);
|
$timeline->setShouldTerminate(true);
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorProject::PANEL_MANAGE);
|
$nav->selectFilter(PhabricatorProject::ITEM_MANAGE);
|
||||||
|
|
||||||
$crumbs = $this->buildApplicationCrumbs();
|
$crumbs = $this->buildApplicationCrumbs();
|
||||||
$crumbs->addTextCrumb(pht('Manage'));
|
$crumbs->addTextCrumb(pht('Manage'));
|
||||||
|
@ -91,7 +91,7 @@ final class PhabricatorProjectManageController
|
||||||
id(new PhabricatorActionView())
|
id(new PhabricatorActionView())
|
||||||
->setName(pht('Edit Menu'))
|
->setName(pht('Edit Menu'))
|
||||||
->setIcon('fa-th-list')
|
->setIcon('fa-th-list')
|
||||||
->setHref($this->getApplicationURI("{$id}/panel/configure/"))
|
->setHref($this->getApplicationURI("{$id}/item/configure/"))
|
||||||
->setDisabled(!$can_edit)
|
->setDisabled(!$can_edit)
|
||||||
->setWorkflow(!$can_edit));
|
->setWorkflow(!$can_edit));
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ final class PhabricatorProjectMembersViewController
|
||||||
->setUserPHIDs($project->getWatcherPHIDs());
|
->setUserPHIDs($project->getWatcherPHIDs());
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorProject::PANEL_MEMBERS);
|
$nav->selectFilter(PhabricatorProject::ITEM_MEMBERS);
|
||||||
|
|
||||||
$crumbs = $this->buildApplicationCrumbs();
|
$crumbs = $this->buildApplicationCrumbs();
|
||||||
$crumbs->addTextCrumb(pht('Members'));
|
$crumbs->addTextCrumb(pht('Members'));
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectPanelController
|
final class PhabricatorProjectMenuItemController
|
||||||
extends PhabricatorProjectController {
|
extends PhabricatorProjectController {
|
||||||
|
|
||||||
public function handleRequest(AphrontRequest $request) {
|
public function handleRequest(AphrontRequest $request) {
|
|
@ -70,7 +70,7 @@ final class PhabricatorProjectProfileController
|
||||||
->setUserPHIDs($project->getWatcherPHIDs());
|
->setUserPHIDs($project->getWatcherPHIDs());
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorProject::PANEL_PROFILE);
|
$nav->selectFilter(PhabricatorProject::ITEM_PROFILE);
|
||||||
|
|
||||||
$stories = id(new PhabricatorFeedQuery())
|
$stories = id(new PhabricatorFeedQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
|
|
|
@ -92,7 +92,7 @@ final class PhabricatorProjectSubprojectsController
|
||||||
->addPropertyList($property_list);
|
->addPropertyList($property_list);
|
||||||
|
|
||||||
$nav = $this->getProfileMenu();
|
$nav = $this->getProfileMenu();
|
||||||
$nav->selectFilter(PhabricatorProject::PANEL_SUBPROJECTS);
|
$nav->selectFilter(PhabricatorProject::ITEM_SUBPROJECTS);
|
||||||
|
|
||||||
$crumbs = $this->buildApplicationCrumbs();
|
$crumbs = $this->buildApplicationCrumbs();
|
||||||
$crumbs->addTextCrumb(pht('Subprojects'));
|
$crumbs->addTextCrumb(pht('Subprojects'));
|
||||||
|
|
|
@ -18,13 +18,13 @@ final class PhabricatorProjectViewController
|
||||||
$project = $this->getProject();
|
$project = $this->getProject();
|
||||||
|
|
||||||
$engine = $this->getProfileMenuEngine();
|
$engine = $this->getProfileMenuEngine();
|
||||||
$default = $engine->getDefaultPanel();
|
$default = $engine->getDefaultItem();
|
||||||
|
|
||||||
switch ($default->getBuiltinKey()) {
|
switch ($default->getBuiltinKey()) {
|
||||||
case PhabricatorProject::PANEL_WORKBOARD:
|
case PhabricatorProject::ITEM_WORKBOARD:
|
||||||
$controller_object = new PhabricatorProjectBoardViewController();
|
$controller_object = new PhabricatorProjectBoardViewController();
|
||||||
break;
|
break;
|
||||||
case PhabricatorProject::PANEL_PROFILE:
|
case PhabricatorProject::ITEM_PROFILE:
|
||||||
default:
|
default:
|
||||||
$controller_object = new PhabricatorProjectProfileController();
|
$controller_object = new PhabricatorProjectProfileController();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -7,40 +7,41 @@ final class PhabricatorProjectProfileMenuEngine
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getPanelURI($path) {
|
protected function getItemURI($path) {
|
||||||
$project = $this->getProfileObject();
|
$project = $this->getProfileObject();
|
||||||
$id = $project->getID();
|
$id = $project->getID();
|
||||||
return "/project/{$id}/panel/{$path}";
|
return "/project/{$id}/item/{$path}";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getBuiltinProfilePanels($object) {
|
protected function getBuiltinProfileItems($object) {
|
||||||
$panels = array();
|
$items = array();
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(PhabricatorProject::PANEL_PROFILE)
|
->setBuiltinKey(PhabricatorProject::ITEM_PROFILE)
|
||||||
->setMenuItemKey(PhabricatorProjectDetailsProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorProjectDetailsProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(PhabricatorProject::PANEL_POINTS)
|
->setBuiltinKey(PhabricatorProject::ITEM_POINTS)
|
||||||
->setMenuItemKey(PhabricatorProjectPointsProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorProjectPointsProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(PhabricatorProject::PANEL_WORKBOARD)
|
->setBuiltinKey(PhabricatorProject::ITEM_WORKBOARD)
|
||||||
->setMenuItemKey(PhabricatorProjectWorkboardProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorProjectWorkboardProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(PhabricatorProject::PANEL_MEMBERS)
|
->setBuiltinKey(PhabricatorProject::ITEM_MEMBERS)
|
||||||
->setMenuItemKey(PhabricatorProjectMembersProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorProjectMembersProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(PhabricatorProject::PANEL_SUBPROJECTS)
|
->setBuiltinKey(PhabricatorProject::ITEM_SUBPROJECTS)
|
||||||
->setMenuItemKey(PhabricatorProjectSubprojectsProfilePanel::PANELKEY);
|
->setMenuItemKey(
|
||||||
|
PhabricatorProjectSubprojectsProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
$panels[] = $this->newPanel()
|
$items[] = $this->newItem()
|
||||||
->setBuiltinKey(PhabricatorProject::PANEL_MANAGE)
|
->setBuiltinKey(PhabricatorProject::ITEM_MANAGE)
|
||||||
->setMenuItemKey(PhabricatorProjectManageProfilePanel::PANELKEY);
|
->setMenuItemKey(PhabricatorProjectManageProfileMenuItem::MENUITEMKEY);
|
||||||
|
|
||||||
return $panels;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectDetailsProfilePanel
|
final class PhabricatorProjectDetailsProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'project.details';
|
const MENUITEMKEY = 'project.details';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Project Details');
|
return pht('Project Details');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectManageProfilePanel
|
final class PhabricatorProjectManageProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'project.manage';
|
const MENUITEMKEY = 'project.manage';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Manage Project');
|
return pht('Manage Project');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ final class PhabricatorProjectManageProfilePanel
|
||||||
return pht('Manage');
|
return pht('Manage');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canHidePanel(
|
public function canHideMenuItem(
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
PhabricatorProfileMenuItemConfiguration $config) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectMembersProfilePanel
|
final class PhabricatorProjectMembersProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'project.members';
|
const MENUITEMKEY = 'project.members';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Project Members');
|
return pht('Project Members');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectPointsProfilePanel
|
final class PhabricatorProjectPointsProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'project.points';
|
const MENUITEMKEY = 'project.points';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Project Points');
|
return pht('Project Points');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectSubprojectsProfilePanel
|
final class PhabricatorProjectSubprojectsProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'project.subprojects';
|
const MENUITEMKEY = 'project.subprojects';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Project Subprojects');
|
return pht('Project Subprojects');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProjectWorkboardProfilePanel
|
final class PhabricatorProjectWorkboardProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'project.workboard';
|
const MENUITEMKEY = 'project.workboard';
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Project Workboard');
|
return pht('Project Workboard');
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,13 +49,13 @@ final class PhabricatorProject extends PhabricatorProjectDAO
|
||||||
|
|
||||||
const TABLE_DATASOURCE_TOKEN = 'project_datasourcetoken';
|
const TABLE_DATASOURCE_TOKEN = 'project_datasourcetoken';
|
||||||
|
|
||||||
const PANEL_PROFILE = 'project.profile';
|
const ITEM_PROFILE = 'project.profile';
|
||||||
const PANEL_POINTS = 'project.points';
|
const ITEM_POINTS = 'project.points';
|
||||||
const PANEL_WORKBOARD = 'project.workboard';
|
const ITEM_WORKBOARD = 'project.workboard';
|
||||||
const PANEL_MEMBERS = 'project.members';
|
const ITEM_MEMBERS = 'project.members';
|
||||||
const PANEL_MANAGE = 'project.manage';
|
const ITEM_MANAGE = 'project.manage';
|
||||||
const PANEL_MILESTONES = 'project.milestones';
|
const ITEM_MILESTONES = 'project.milestones';
|
||||||
const PANEL_SUBPROJECTS = 'project.subprojects';
|
const ITEM_SUBPROJECTS = 'project.subprojects';
|
||||||
|
|
||||||
public static function initializeNewProject(PhabricatorUser $actor) {
|
public static function initializeNewProject(PhabricatorUser $actor) {
|
||||||
$app = id(new PhabricatorApplicationQuery())
|
$app = id(new PhabricatorApplicationQuery())
|
||||||
|
|
|
@ -7,7 +7,7 @@ final class PhabricatorProfileMenuEditEngine
|
||||||
|
|
||||||
private $menuEngine;
|
private $menuEngine;
|
||||||
private $profileObject;
|
private $profileObject;
|
||||||
private $newPanelConfiguration;
|
private $newMenuItemConfiguration;
|
||||||
private $isBuiltin;
|
private $isBuiltin;
|
||||||
|
|
||||||
public function isEngineConfigurable() {
|
public function isEngineConfigurable() {
|
||||||
|
@ -32,14 +32,14 @@ final class PhabricatorProfileMenuEditEngine
|
||||||
return $this->profileObject;
|
return $this->profileObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setNewPanelConfiguration(
|
public function setNewMenuItemConfiguration(
|
||||||
PhabricatorProfileMenuItemConfiguration $configuration) {
|
PhabricatorProfileMenuItemConfiguration $configuration) {
|
||||||
$this->newPanelConfiguration = $configuration;
|
$this->newMenuItemConfiguration = $configuration;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getNewPanelConfiguration() {
|
public function getNewMenuItemConfiguration() {
|
||||||
return $this->newPanelConfiguration;
|
return $this->newMenuItemConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setIsBuiltin($is_builtin) {
|
public function setIsBuiltin($is_builtin) {
|
||||||
|
@ -52,11 +52,11 @@ final class PhabricatorProfileMenuEditEngine
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getEngineName() {
|
public function getEngineName() {
|
||||||
return pht('Profile Panels');
|
return pht('Profile Menu Items');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSummaryHeader() {
|
public function getSummaryHeader() {
|
||||||
return pht('Edit Profile Panel Configurations');
|
return pht('Edit Profile Menu Item Configurations');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSummaryText() {
|
public function getSummaryText() {
|
||||||
|
@ -68,12 +68,14 @@ final class PhabricatorProfileMenuEditEngine
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function newEditableObject() {
|
protected function newEditableObject() {
|
||||||
if (!$this->newPanelConfiguration) {
|
if (!$this->newMenuItemConfiguration) {
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht('Profile panels can not be generated without an object context.'));
|
pht(
|
||||||
|
'Profile menu items can not be generated without an '.
|
||||||
|
'object context.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return clone $this->newPanelConfiguration;
|
return clone $this->newMenuItemConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function newObjectQuery() {
|
protected function newObjectQuery() {
|
||||||
|
@ -121,8 +123,8 @@ final class PhabricatorProfileMenuEditEngine
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function buildCustomEditFields($object) {
|
protected function buildCustomEditFields($object) {
|
||||||
$panel = $object->getPanel();
|
$item = $object->getMenuItem();
|
||||||
$fields = $panel->buildEditEngineFields($object);
|
$fields = $item->buildEditEngineFields($object);
|
||||||
|
|
||||||
$type_property =
|
$type_property =
|
||||||
PhabricatorProfileMenuItemConfigurationTransaction::TYPE_PROPERTY;
|
PhabricatorProfileMenuItemConfigurationTransaction::TYPE_PROPERTY;
|
||||||
|
|
|
@ -60,7 +60,7 @@ final class PhabricatorProfileMenuEditor
|
||||||
case PhabricatorProfileMenuItemConfigurationTransaction::TYPE_PROPERTY:
|
case PhabricatorProfileMenuItemConfigurationTransaction::TYPE_PROPERTY:
|
||||||
$key = $xaction->getMetadataValue('property.key');
|
$key = $xaction->getMetadataValue('property.key');
|
||||||
$value = $xaction->getNewValue();
|
$value = $xaction->getNewValue();
|
||||||
$object->getMenuItemProperty($key, $value);
|
$object->setMenuItemProperty($key, $value);
|
||||||
return;
|
return;
|
||||||
case PhabricatorProfileMenuItemConfigurationTransaction::TYPE_ORDER:
|
case PhabricatorProfileMenuItemConfigurationTransaction::TYPE_ORDER:
|
||||||
$object->setMenuItemOrder($xaction->getNewValue());
|
$object->setMenuItemOrder($xaction->getNewValue());
|
||||||
|
|
|
@ -4,8 +4,8 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
|
|
||||||
private $viewer;
|
private $viewer;
|
||||||
private $profileObject;
|
private $profileObject;
|
||||||
private $panels;
|
private $items;
|
||||||
private $defaultPanel;
|
private $defaultItem;
|
||||||
private $controller;
|
private $controller;
|
||||||
private $navigation;
|
private $navigation;
|
||||||
|
|
||||||
|
@ -36,18 +36,18 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
return $this->controller;
|
return $this->controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function setDefaultPanel(
|
private function setDefaultItem(
|
||||||
PhabricatorProfileMenuItemConfiguration $default_panel) {
|
PhabricatorProfileMenuItemConfiguration $default_item) {
|
||||||
$this->defaultPanel = $default_panel;
|
$this->defaultItem = $default_item;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDefaultPanel() {
|
public function getDefaultItem() {
|
||||||
$this->loadPanels();
|
$this->loadItems();
|
||||||
return $this->defaultPanel;
|
return $this->defaultItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract protected function getPanelURI($path);
|
abstract protected function getItemURI($path);
|
||||||
|
|
||||||
abstract protected function isMenuEngineConfigurable();
|
abstract protected function isMenuEngineConfigurable();
|
||||||
|
|
||||||
|
@ -59,12 +59,12 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
|
|
||||||
$request = $controller->getRequest();
|
$request = $controller->getRequest();
|
||||||
|
|
||||||
$panel_action = $request->getURIData('panelAction');
|
$item_action = $request->getURIData('itemAction');
|
||||||
|
|
||||||
// If the engine is not configurable, don't respond to any of the editing
|
// If the engine is not configurable, don't respond to any of the editing
|
||||||
// or configuration routes.
|
// or configuration routes.
|
||||||
if (!$this->isMenuEngineConfigurable()) {
|
if (!$this->isMenuEngineConfigurable()) {
|
||||||
switch ($panel_action) {
|
switch ($item_action) {
|
||||||
case 'view':
|
case 'view':
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -72,80 +72,79 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$panel_id = $request->getURIData('panelID');
|
$item_id = $request->getURIData('itemID');
|
||||||
|
$item_list = $this->loadItems();
|
||||||
|
|
||||||
$panel_list = $this->loadPanels();
|
$selected_item = null;
|
||||||
|
if (strlen($item_id)) {
|
||||||
$selected_panel = null;
|
$item_id_int = (int)$item_id;
|
||||||
if (strlen($panel_id)) {
|
foreach ($item_list as $item) {
|
||||||
$panel_id_int = (int)$panel_id;
|
if ($item_id_int) {
|
||||||
foreach ($panel_list as $panel) {
|
if ((int)$item->getID() === $item_id_int) {
|
||||||
if ($panel_id_int) {
|
$selected_item = $item;
|
||||||
if ((int)$panel->getID() === $panel_id_int) {
|
|
||||||
$selected_panel = $panel;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$builtin_key = $panel->getBuiltinKey();
|
$builtin_key = $item->getBuiltinKey();
|
||||||
if ($builtin_key === (string)$panel_id) {
|
if ($builtin_key === (string)$item_id) {
|
||||||
$selected_panel = $panel;
|
$selected_item = $item;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($panel_action) {
|
switch ($item_action) {
|
||||||
case 'view':
|
case 'view':
|
||||||
case 'info':
|
case 'info':
|
||||||
case 'hide':
|
case 'hide':
|
||||||
case 'default':
|
case 'default':
|
||||||
case 'builtin':
|
case 'builtin':
|
||||||
if (!$selected_panel) {
|
if (!$selected_item) {
|
||||||
return new Aphront404Response();
|
return new Aphront404Response();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$navigation = $this->buildNavigation();
|
$navigation = $this->buildNavigation();
|
||||||
$navigation->selectFilter('panel.configure');
|
$navigation->selectFilter('item.configure');
|
||||||
|
|
||||||
$crumbs = $controller->buildApplicationCrumbsForEditEngine();
|
$crumbs = $controller->buildApplicationCrumbsForEditEngine();
|
||||||
|
|
||||||
switch ($panel_action) {
|
switch ($item_action) {
|
||||||
case 'view':
|
case 'view':
|
||||||
$content = $this->buildPanelViewContent($selected_panel);
|
$content = $this->buildItemViewContent($selected_item);
|
||||||
break;
|
break;
|
||||||
case 'configure':
|
case 'configure':
|
||||||
$content = $this->buildPanelConfigureContent($panel_list);
|
$content = $this->buildItemConfigureContent($item_list);
|
||||||
$crumbs->addTextCrumb(pht('Configure Menu'));
|
$crumbs->addTextCrumb(pht('Configure Menu'));
|
||||||
break;
|
break;
|
||||||
case 'reorder':
|
case 'reorder':
|
||||||
$content = $this->buildPanelReorderContent($panel_list);
|
$content = $this->buildItemReorderContent($item_list);
|
||||||
break;
|
break;
|
||||||
case 'new':
|
case 'new':
|
||||||
$panel_key = $request->getURIData('panelKey');
|
$item_key = $request->getURIData('itemKey');
|
||||||
$content = $this->buildPanelNewContent($panel_key);
|
$content = $this->buildItemNewContent($item_key);
|
||||||
break;
|
break;
|
||||||
case 'builtin':
|
case 'builtin':
|
||||||
$content = $this->buildPanelBuiltinContent($selected_panel);
|
$content = $this->buildItemBuiltinContent($selected_item);
|
||||||
break;
|
break;
|
||||||
case 'hide':
|
case 'hide':
|
||||||
$content = $this->buildPanelHideContent($selected_panel);
|
$content = $this->buildItemHideContent($selected_item);
|
||||||
break;
|
break;
|
||||||
case 'default':
|
case 'default':
|
||||||
$content = $this->buildPanelDefaultContent(
|
$content = $this->buildItemDefaultContent(
|
||||||
$selected_panel,
|
$selected_item,
|
||||||
$panel_list);
|
$item_list);
|
||||||
break;
|
break;
|
||||||
case 'edit':
|
case 'edit':
|
||||||
$content = $this->buildPanelEditContent();
|
$content = $this->buildItemEditContent();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Unsupported panel action "%s".',
|
'Unsupported item action "%s".',
|
||||||
$panel_action));
|
$item_action));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($content instanceof AphrontResponse) {
|
if ($content instanceof AphrontResponse) {
|
||||||
|
@ -170,33 +169,33 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
|
|
||||||
$nav = id(new AphrontSideNavFilterView())
|
$nav = id(new AphrontSideNavFilterView())
|
||||||
->setIsProfileMenu(true)
|
->setIsProfileMenu(true)
|
||||||
->setBaseURI(new PhutilURI($this->getPanelURI('')));
|
->setBaseURI(new PhutilURI($this->getItemURI('')));
|
||||||
|
|
||||||
$panels = $this->getPanels();
|
$menu_items = $this->getItems();
|
||||||
|
|
||||||
foreach ($panels as $panel) {
|
foreach ($menu_items as $menu_item) {
|
||||||
if ($panel->isDisabled()) {
|
if ($menu_item->isDisabled()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$items = $panel->buildNavigationMenuItems();
|
$items = $menu_item->buildNavigationMenuItems();
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
$this->validateNavigationMenuItem($item);
|
$this->validateNavigationMenuItem($item);
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the panel produced only a single item which does not otherwise
|
// If the item produced only a single item which does not otherwise
|
||||||
// have a key, try to automatically assign it a reasonable key. This
|
// have a key, try to automatically assign it a reasonable key. This
|
||||||
// makes selecting the correct item simpler.
|
// makes selecting the correct item simpler.
|
||||||
|
|
||||||
if (count($items) == 1) {
|
if (count($items) == 1) {
|
||||||
$item = head($items);
|
$item = head($items);
|
||||||
if ($item->getKey() === null) {
|
if ($item->getKey() === null) {
|
||||||
$builtin_key = $panel->getBuiltinKey();
|
$builtin_key = $menu_item->getBuiltinKey();
|
||||||
$panel_phid = $panel->getPHID();
|
$item_phid = $menu_item->getPHID();
|
||||||
if ($builtin_key !== null) {
|
if ($builtin_key !== null) {
|
||||||
$item->setKey($builtin_key);
|
$item->setKey($builtin_key);
|
||||||
} else if ($panel_phid !== null) {
|
} else if ($item_phid !== null) {
|
||||||
$item->setKey($panel_phid);
|
$item->setKey($item_phid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -217,75 +216,75 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
return $this->navigation;
|
return $this->navigation;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPanels() {
|
private function getItems() {
|
||||||
if ($this->panels === null) {
|
if ($this->items === null) {
|
||||||
$this->panels = $this->loadPanels();
|
$this->items = $this->loadItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->panels;
|
return $this->items;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadPanels() {
|
private function loadItems() {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
|
|
||||||
$panels = $this->loadBuiltinProfilePanels();
|
$items = $this->loadBuiltinProfileItems();
|
||||||
|
|
||||||
$stored_panels = id(new PhabricatorProfileMenuItemConfigurationQuery())
|
$stored_items = id(new PhabricatorProfileMenuItemConfigurationQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withProfilePHIDs(array($object->getPHID()))
|
->withProfilePHIDs(array($object->getPHID()))
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
foreach ($stored_panels as $stored_panel) {
|
foreach ($stored_items as $stored_item) {
|
||||||
$impl = $stored_panel->getPanel();
|
$impl = $stored_item->getMenuItem();
|
||||||
$impl->setViewer($viewer);
|
$impl->setViewer($viewer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Merge the stored panels into the builtin panels. If a builtin panel has
|
// Merge the stored items into the builtin items. If a builtin item has
|
||||||
// a stored version, replace the defaults with the stored changes.
|
// a stored version, replace the defaults with the stored changes.
|
||||||
foreach ($stored_panels as $stored_panel) {
|
foreach ($stored_items as $stored_item) {
|
||||||
if (!$stored_panel->shouldEnableForObject($object)) {
|
if (!$stored_item->shouldEnableForObject($object)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$builtin_key = $stored_panel->getBuiltinKey();
|
$builtin_key = $stored_item->getBuiltinKey();
|
||||||
if ($builtin_key !== null) {
|
if ($builtin_key !== null) {
|
||||||
// If this builtin actually exists, replace the builtin with the
|
// If this builtin actually exists, replace the builtin with the
|
||||||
// stored configuration. Otherwise, we're just going to drop the
|
// stored configuration. Otherwise, we're just going to drop the
|
||||||
// stored config: it corresponds to an out-of-date or uninstalled
|
// stored config: it corresponds to an out-of-date or uninstalled
|
||||||
// panel.
|
// item.
|
||||||
if (isset($panels[$builtin_key])) {
|
if (isset($items[$builtin_key])) {
|
||||||
$panels[$builtin_key] = $stored_panel;
|
$items[$builtin_key] = $stored_item;
|
||||||
} else {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$panels[] = $stored_panel;
|
$items[] = $stored_item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$panels = msort($panels, 'getSortKey');
|
$items = msort($items, 'getSortKey');
|
||||||
|
|
||||||
// Normalize keys since callers shouldn't rely on this array being
|
// Normalize keys since callers shouldn't rely on this array being
|
||||||
// partially keyed.
|
// partially keyed.
|
||||||
$panels = array_values($panels);
|
$items = array_values($items);
|
||||||
|
|
||||||
|
|
||||||
// Make sure exactly one valid panel is marked as default.
|
// Make sure exactly one valid item is marked as default.
|
||||||
$default = null;
|
$default = null;
|
||||||
$first = null;
|
$first = null;
|
||||||
foreach ($panels as $panel) {
|
foreach ($items as $item) {
|
||||||
if (!$panel->canMakeDefault()) {
|
if (!$item->canMakeDefault()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($panel->isDefault()) {
|
if ($item->isDefault()) {
|
||||||
$default = $panel;
|
$default = $item;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($first === null) {
|
if ($first === null) {
|
||||||
$first = $panel;
|
$first = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -294,17 +293,17 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($default) {
|
if ($default) {
|
||||||
$this->setDefaultPanel($default);
|
$this->setDefaultItem($default);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $panels;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadBuiltinProfilePanels() {
|
private function loadBuiltinProfileItems() {
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
$builtins = $this->getBuiltinProfilePanels($object);
|
$builtins = $this->getBuiltinProfileItems($object);
|
||||||
|
|
||||||
$panels = PhabricatorProfilePanel::getAllPanels();
|
$items = PhabricatorProfileMenuItem::getAllMenuItems();
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
$order = 1;
|
$order = 1;
|
||||||
|
@ -315,36 +314,36 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
if (!$builtin_key) {
|
if (!$builtin_key) {
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Object produced a builtin panel with no builtin panel key! '.
|
'Object produced a builtin item with no builtin item key! '.
|
||||||
'Builtin panels must have a unique key.'));
|
'Builtin items must have a unique key.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($map[$builtin_key])) {
|
if (isset($map[$builtin_key])) {
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Object produced two panels with the same builtin key ("%s"). '.
|
'Object produced two items with the same builtin key ("%s"). '.
|
||||||
'Each panel must have a unique builtin key.',
|
'Each item must have a unique builtin key.',
|
||||||
$builtin_key));
|
$builtin_key));
|
||||||
}
|
}
|
||||||
|
|
||||||
$panel_key = $builtin->getMenuItemKey();
|
$item_key = $builtin->getMenuItemKey();
|
||||||
|
|
||||||
$panel = idx($panels, $panel_key);
|
$item = idx($items, $item_key);
|
||||||
if (!$panel) {
|
if (!$item) {
|
||||||
throw new Exception(
|
throw new Exception(
|
||||||
pht(
|
pht(
|
||||||
'Builtin panel ("%s") specifies a bad panel key ("%s"); there '.
|
'Builtin item ("%s") specifies a bad item key ("%s"); there '.
|
||||||
'is no corresponding panel implementation available.',
|
'is no corresponding item implementation available.',
|
||||||
$builtin_key,
|
$builtin_key,
|
||||||
$panel_key));
|
$item_key));
|
||||||
}
|
}
|
||||||
|
|
||||||
$panel = clone $panel;
|
$item = clone $item;
|
||||||
$panel->setViewer($viewer);
|
$item->setViewer($viewer);
|
||||||
|
|
||||||
$builtin
|
$builtin
|
||||||
->setProfilePHID($object->getPHID())
|
->setProfilePHID($object->getPHID())
|
||||||
->attachPanel($panel)
|
->attachMenuItem($item)
|
||||||
->attachProfileObject($object)
|
->attachProfileObject($object)
|
||||||
->setMenuItemOrder($order);
|
->setMenuItemOrder($order);
|
||||||
|
|
||||||
|
@ -437,10 +436,10 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getConfigureURI() {
|
public function getConfigureURI() {
|
||||||
return $this->getPanelURI('configure/');
|
return $this->getItemURI('configure/');
|
||||||
}
|
}
|
||||||
|
|
||||||
private function buildPanelReorderContent(array $panels) {
|
private function buildItemReorderContent(array $items) {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
|
|
||||||
|
@ -459,14 +458,14 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
$by_builtin = array();
|
$by_builtin = array();
|
||||||
$by_id = array();
|
$by_id = array();
|
||||||
|
|
||||||
foreach ($panels as $key => $panel) {
|
foreach ($items as $key => $item) {
|
||||||
$id = $panel->getID();
|
$id = $item->getID();
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$by_id[$id] = $key;
|
$by_id[$id] = $key;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$builtin_key = $panel->getBuiltinKey();
|
$builtin_key = $item->getBuiltinKey();
|
||||||
if ($builtin_key) {
|
if ($builtin_key) {
|
||||||
$by_builtin[$builtin_key] = $key;
|
$by_builtin[$builtin_key] = $key;
|
||||||
continue;
|
continue;
|
||||||
|
@ -485,13 +484,13 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$panels = array_select_keys($panels, $key_order) + $panels;
|
$items = array_select_keys($items, $key_order) + $items;
|
||||||
|
|
||||||
$type_order =
|
$type_order =
|
||||||
PhabricatorProfileMenuItemConfigurationTransaction::TYPE_ORDER;
|
PhabricatorProfileMenuItemConfigurationTransaction::TYPE_ORDER;
|
||||||
|
|
||||||
$order = 1;
|
$order = 1;
|
||||||
foreach ($panels as $panel) {
|
foreach ($items as $item) {
|
||||||
$xactions = array();
|
$xactions = array();
|
||||||
|
|
||||||
$xactions[] = id(new PhabricatorProfileMenuItemConfigurationTransaction())
|
$xactions[] = id(new PhabricatorProfileMenuItemConfigurationTransaction())
|
||||||
|
@ -503,7 +502,7 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->setActor($viewer)
|
->setActor($viewer)
|
||||||
->setContinueOnMissingFields(true)
|
->setContinueOnMissingFields(true)
|
||||||
->setContinueOnNoEffect(true)
|
->setContinueOnNoEffect(true)
|
||||||
->applyTransactions($panel, $xactions);
|
->applyTransactions($item, $xactions);
|
||||||
|
|
||||||
$order++;
|
$order++;
|
||||||
}
|
}
|
||||||
|
@ -513,7 +512,7 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private function buildPanelConfigureContent(array $panels) {
|
private function buildItemConfigureContent(array $items) {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
|
|
||||||
|
@ -528,34 +527,34 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
'reorder-profile-menu-items',
|
'reorder-profile-menu-items',
|
||||||
array(
|
array(
|
||||||
'listID' => $list_id,
|
'listID' => $list_id,
|
||||||
'orderURI' => $this->getPanelURI('reorder/'),
|
'orderURI' => $this->getItemURI('reorder/'),
|
||||||
));
|
));
|
||||||
|
|
||||||
$list = id(new PHUIObjectItemListView())
|
$list = id(new PHUIObjectItemListView())
|
||||||
->setID($list_id);
|
->setID($list_id);
|
||||||
|
|
||||||
foreach ($panels as $panel) {
|
foreach ($items as $item) {
|
||||||
$id = $panel->getID();
|
$id = $item->getID();
|
||||||
$builtin_key = $panel->getBuiltinKey();
|
$builtin_key = $item->getBuiltinKey();
|
||||||
|
|
||||||
$can_edit = PhabricatorPolicyFilter::hasCapability(
|
$can_edit = PhabricatorPolicyFilter::hasCapability(
|
||||||
$viewer,
|
$viewer,
|
||||||
$panel,
|
$item,
|
||||||
PhabricatorPolicyCapability::CAN_EDIT);
|
PhabricatorPolicyCapability::CAN_EDIT);
|
||||||
|
|
||||||
$item = id(new PHUIObjectItemView());
|
$view = id(new PHUIObjectItemView());
|
||||||
|
|
||||||
$name = $panel->getDisplayName();
|
$name = $item->getDisplayName();
|
||||||
$type = $panel->getPanelTypeName();
|
$type = $item->getMenuItemTypeName();
|
||||||
if (!strlen(trim($name))) {
|
if (!strlen(trim($name))) {
|
||||||
$name = pht('Untitled "%s" Item', $type);
|
$name = pht('Untitled "%s" Item', $type);
|
||||||
}
|
}
|
||||||
|
|
||||||
$item->setHeader($name);
|
$view->setHeader($name);
|
||||||
$item->addAttribute($type);
|
$view->addAttribute($type);
|
||||||
|
|
||||||
if ($can_edit) {
|
if ($can_edit) {
|
||||||
$item
|
$view
|
||||||
->setGrippable(true)
|
->setGrippable(true)
|
||||||
->addSigil('profile-menu-item')
|
->addSigil('profile-menu-item')
|
||||||
->setMetadata(
|
->setMetadata(
|
||||||
|
@ -564,15 +563,15 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
));
|
));
|
||||||
|
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$default_uri = $this->getPanelURI("default/{$id}/");
|
$default_uri = $this->getItemURI("default/{$id}/");
|
||||||
} else {
|
} else {
|
||||||
$default_uri = $this->getPanelURI("default/{$builtin_key}/");
|
$default_uri = $this->getItemURI("default/{$builtin_key}/");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($panel->isDefault()) {
|
if ($item->isDefault()) {
|
||||||
$default_icon = 'fa-thumb-tack green';
|
$default_icon = 'fa-thumb-tack green';
|
||||||
$default_text = pht('Current Default');
|
$default_text = pht('Current Default');
|
||||||
} else if ($panel->canMakeDefault()) {
|
} else if ($item->canMakeDefault()) {
|
||||||
$default_icon = 'fa-thumb-tack';
|
$default_icon = 'fa-thumb-tack';
|
||||||
$default_text = pht('Make Default');
|
$default_text = pht('Make Default');
|
||||||
} else {
|
} else {
|
||||||
|
@ -580,7 +579,7 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($default_text !== null) {
|
if ($default_text !== null) {
|
||||||
$item->addAction(
|
$view->addAction(
|
||||||
id(new PHUIListItemView())
|
id(new PHUIListItemView())
|
||||||
->setHref($default_uri)
|
->setHref($default_uri)
|
||||||
->setWorkflow(true)
|
->setWorkflow(true)
|
||||||
|
@ -589,17 +588,17 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$item->setHref($this->getPanelURI("edit/{$id}/"));
|
$view->setHref($this->getItemURI("edit/{$id}/"));
|
||||||
$hide_uri = $this->getPanelURI("hide/{$id}/");
|
$hide_uri = $this->getItemURI("hide/{$id}/");
|
||||||
} else {
|
} else {
|
||||||
$item->setHref($this->getPanelURI("builtin/{$builtin_key}/"));
|
$view->setHref($this->getItemURI("builtin/{$builtin_key}/"));
|
||||||
$hide_uri = $this->getPanelURI("hide/{$builtin_key}/");
|
$hide_uri = $this->getItemURI("hide/{$builtin_key}/");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($panel->isDisabled()) {
|
if ($item->isDisabled()) {
|
||||||
$hide_icon = 'fa-plus';
|
$hide_icon = 'fa-plus';
|
||||||
$hide_text = pht('Enable');
|
$hide_text = pht('Enable');
|
||||||
} else if ($panel->getBuiltinKey() !== null) {
|
} else if ($item->getBuiltinKey() !== null) {
|
||||||
$hide_icon = 'fa-times';
|
$hide_icon = 'fa-times';
|
||||||
$hide_text = pht('Disable');
|
$hide_text = pht('Disable');
|
||||||
} else {
|
} else {
|
||||||
|
@ -607,9 +606,9 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
$hide_text = pht('Delete');
|
$hide_text = pht('Delete');
|
||||||
}
|
}
|
||||||
|
|
||||||
$can_disable = $panel->canHideMenuItem();
|
$can_disable = $item->canHideMenuItem();
|
||||||
|
|
||||||
$item->addAction(
|
$view->addAction(
|
||||||
id(new PHUIListItemView())
|
id(new PHUIListItemView())
|
||||||
->setHref($hide_uri)
|
->setHref($hide_uri)
|
||||||
->setWorkflow(true)
|
->setWorkflow(true)
|
||||||
|
@ -618,35 +617,35 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->setIcon($hide_icon));
|
->setIcon($hide_icon));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($panel->isDisabled()) {
|
if ($item->isDisabled()) {
|
||||||
$item->setDisabled(true);
|
$view->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$list->addItem($item);
|
$list->addItem($view);
|
||||||
}
|
}
|
||||||
|
|
||||||
$action_view = id(new PhabricatorActionListView())
|
$action_view = id(new PhabricatorActionListView())
|
||||||
->setUser($viewer);
|
->setUser($viewer);
|
||||||
|
|
||||||
$panel_types = PhabricatorProfilePanel::getAllPanels();
|
$item_types = PhabricatorProfileMenuItem::getAllMenuItems();
|
||||||
|
|
||||||
$action_view->addAction(
|
$action_view->addAction(
|
||||||
id(new PhabricatorActionView())
|
id(new PhabricatorActionView())
|
||||||
->setLabel(true)
|
->setLabel(true)
|
||||||
->setName(pht('Add New Menu Item...')));
|
->setName(pht('Add New Menu Item...')));
|
||||||
|
|
||||||
foreach ($panel_types as $panel_type) {
|
foreach ($item_types as $item_type) {
|
||||||
if (!$panel_type->canAddToObject($object)) {
|
if (!$item_type->canAddToObject($object)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$panel_key = $panel_type->getPanelKey();
|
$item_key = $item_type->getMenuItemKey();
|
||||||
|
|
||||||
$action_view->addAction(
|
$action_view->addAction(
|
||||||
id(new PhabricatorActionView())
|
id(new PhabricatorActionView())
|
||||||
->setIcon($panel_type->getPanelTypeIcon())
|
->setIcon($item_type->getMenuItemTypeIcon())
|
||||||
->setName($panel_type->getPanelTypeName())
|
->setName($item_type->getMenuItemTypeName())
|
||||||
->setHref($this->getPanelURI("new/{$panel_key}/")));
|
->setHref($this->getItemURI("new/{$item_key}/")));
|
||||||
}
|
}
|
||||||
|
|
||||||
$action_view->addAction(
|
$action_view->addAction(
|
||||||
|
@ -682,22 +681,21 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
return $box;
|
return $box;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function buildPanelNewContent($panel_key) {
|
private function buildItemNewContent($item_key) {
|
||||||
$panel_types = PhabricatorProfilePanel::getAllPanels();
|
$item_types = PhabricatorProfileMenuItem::getAllMenuItems();
|
||||||
$panel_type = idx($panel_types, $panel_key);
|
$item_type = idx($item_types, $item_key);
|
||||||
if (!$panel_type) {
|
if (!$item_type) {
|
||||||
return new Aphront404Response();
|
return new Aphront404Response();
|
||||||
}
|
}
|
||||||
|
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
if (!$panel_type->canAddToObject($object)) {
|
if (!$item_type->canAddToObject($object)) {
|
||||||
return new Aphront404Response();
|
return new Aphront404Response();
|
||||||
}
|
}
|
||||||
|
|
||||||
$configuration =
|
$configuration = PhabricatorProfileMenuItemConfiguration::initializeNewItem(
|
||||||
PhabricatorProfileMenuItemConfiguration::initializeNewPanelConfiguration(
|
|
||||||
$object,
|
$object,
|
||||||
$panel_type);
|
$item_type);
|
||||||
|
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
|
@ -711,12 +709,12 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
return id(new PhabricatorProfileMenuEditEngine())
|
return id(new PhabricatorProfileMenuEditEngine())
|
||||||
->setMenuEngine($this)
|
->setMenuEngine($this)
|
||||||
->setProfileObject($object)
|
->setProfileObject($object)
|
||||||
->setNewPanelConfiguration($configuration)
|
->setNewMenuItemConfiguration($configuration)
|
||||||
->setController($controller)
|
->setController($controller)
|
||||||
->buildResponse();
|
->buildResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function buildPanelEditContent() {
|
private function buildItemEditContent() {
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
$object = $this->getProfileObject();
|
$object = $this->getProfileObject();
|
||||||
$controller = $this->getController();
|
$controller = $this->getController();
|
||||||
|
@ -728,18 +726,18 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->buildResponse();
|
->buildResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function buildPanelBuiltinContent(
|
private function buildItemBuiltinContent(
|
||||||
PhabricatorProfileMenuItemConfiguration $configuration) {
|
PhabricatorProfileMenuItemConfiguration $configuration) {
|
||||||
|
|
||||||
// If this builtin panel has already been persisted, redirect to the
|
// If this builtin item has already been persisted, redirect to the
|
||||||
// edit page.
|
// edit page.
|
||||||
$id = $configuration->getID();
|
$id = $configuration->getID();
|
||||||
if ($id) {
|
if ($id) {
|
||||||
return id(new AphrontRedirectResponse())
|
return id(new AphrontRedirectResponse())
|
||||||
->setURI($this->getPanelURI("edit/{$id}/"));
|
->setURI($this->getItemURI("edit/{$id}/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Otherwise, act like we're creating a new panel, we're just starting
|
// Otherwise, act like we're creating a new item, we're just starting
|
||||||
// with the builtin template.
|
// with the builtin template.
|
||||||
$viewer = $this->getViewer();
|
$viewer = $this->getViewer();
|
||||||
|
|
||||||
|
@ -755,12 +753,12 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->setIsBuiltin(true)
|
->setIsBuiltin(true)
|
||||||
->setMenuEngine($this)
|
->setMenuEngine($this)
|
||||||
->setProfileObject($object)
|
->setProfileObject($object)
|
||||||
->setNewPanelConfiguration($configuration)
|
->setNewMenuItemConfiguration($configuration)
|
||||||
->setController($controller)
|
->setController($controller)
|
||||||
->buildResponse();
|
->buildResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function buildPanelHideContent(
|
private function buildItemHideContent(
|
||||||
PhabricatorProfileMenuItemConfiguration $configuration) {
|
PhabricatorProfileMenuItemConfiguration $configuration) {
|
||||||
|
|
||||||
$controller = $this->getController();
|
$controller = $this->getController();
|
||||||
|
@ -774,9 +772,9 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
|
|
||||||
if (!$configuration->canHideMenuItem()) {
|
if (!$configuration->canHideMenuItem()) {
|
||||||
return $controller->newDialog()
|
return $controller->newDialog()
|
||||||
->setTitle(pht('Mandatory Panel'))
|
->setTitle(pht('Mandatory Item'))
|
||||||
->appendParagraph(
|
->appendParagraph(
|
||||||
pht('This panel is very important, and can not be disabled.'))
|
pht('This menu item is very important, and can not be disabled.'))
|
||||||
->addCancelButton($this->getConfigureURI());
|
->addCancelButton($this->getConfigureURI());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -837,9 +835,9 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->addSubmitButton($button);
|
->addSubmitButton($button);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function buildPanelDefaultContent(
|
private function buildItemDefaultContent(
|
||||||
PhabricatorProfileMenuItemConfiguration $configuration,
|
PhabricatorProfileMenuItemConfiguration $configuration,
|
||||||
array $panels) {
|
array $items) {
|
||||||
|
|
||||||
$controller = $this->getController();
|
$controller = $this->getController();
|
||||||
$request = $controller->getRequest();
|
$request = $controller->getRequest();
|
||||||
|
@ -894,7 +892,7 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->addSubmitButton(pht('Make Default'));
|
->addSubmitButton(pht('Make Default'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function newPanel() {
|
protected function newItem() {
|
||||||
return PhabricatorProfileMenuItemConfiguration::initializeNewBuiltin();
|
return PhabricatorProfileMenuItemConfiguration::initializeNewBuiltin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -903,30 +901,30 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
$request = $controller->getRequest();
|
$request = $controller->getRequest();
|
||||||
$viewer = $request->getViewer();
|
$viewer = $request->getViewer();
|
||||||
|
|
||||||
$panels = $this->loadPanels();
|
$items = $this->loadItems();
|
||||||
|
|
||||||
// To adjust the default panel, we first change any existing panels that
|
// To adjust the default item, we first change any existing items that
|
||||||
// are marked as defaults to "visible", then make the new default panel
|
// are marked as defaults to "visible", then make the new default item
|
||||||
// the default.
|
// the default.
|
||||||
|
|
||||||
$default = array();
|
$default = array();
|
||||||
$visible = array();
|
$visible = array();
|
||||||
|
|
||||||
foreach ($panels as $panel) {
|
foreach ($items as $item) {
|
||||||
$builtin_key = $panel->getBuiltinKey();
|
$builtin_key = $item->getBuiltinKey();
|
||||||
$id = $panel->getID();
|
$id = $item->getID();
|
||||||
|
|
||||||
$is_target =
|
$is_target =
|
||||||
(($builtin_key !== null) && ($builtin_key === $key)) ||
|
(($builtin_key !== null) && ($builtin_key === $key)) ||
|
||||||
(($id !== null) && ((int)$id === (int)$key));
|
(($id !== null) && ((int)$id === (int)$key));
|
||||||
|
|
||||||
if ($is_target) {
|
if ($is_target) {
|
||||||
if (!$panel->isDefault()) {
|
if (!$item->isDefault()) {
|
||||||
$default[] = $panel;
|
$default[] = $item;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($panel->isDefault()) {
|
if ($item->isDefault()) {
|
||||||
$visible[] = $panel;
|
$visible[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -943,8 +941,8 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($apply as $group) {
|
foreach ($apply as $group) {
|
||||||
list($value, $panels) = $group;
|
list($value, $items) = $group;
|
||||||
foreach ($panels as $panel) {
|
foreach ($items as $item) {
|
||||||
$xactions = array();
|
$xactions = array();
|
||||||
|
|
||||||
$xactions[] =
|
$xactions[] =
|
||||||
|
@ -957,7 +955,7 @@ abstract class PhabricatorProfileMenuEngine extends Phobject {
|
||||||
->setActor($viewer)
|
->setActor($viewer)
|
||||||
->setContinueOnMissingFields(true)
|
->setContinueOnMissingFields(true)
|
||||||
->setContinueOnNoEffect(true)
|
->setContinueOnNoEffect(true)
|
||||||
->applyTransactions($panel, $xactions);
|
->applyTransactions($item, $xactions);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorApplicationProfilePanel
|
final class PhabricatorApplicationProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'application';
|
const MENUITEMKEY = 'application';
|
||||||
|
|
||||||
public function getPanelTypeIcon() {
|
public function getMenuItemTypeIcon() {
|
||||||
return 'fa-globe';
|
return 'fa-globe';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Application');
|
return pht('Application');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorDividerProfilePanel
|
final class PhabricatorDividerProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'divider';
|
const MENUITEMKEY = 'divider';
|
||||||
|
|
||||||
public function getPanelTypeIcon() {
|
public function getMenuItemTypeIcon() {
|
||||||
return 'fa-minus';
|
return 'fa-minus';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Divider');
|
return pht('Divider');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorLinkProfilePanel
|
final class PhabricatorLinkProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'link';
|
const MENUITEMKEY = 'link';
|
||||||
|
|
||||||
public function getPanelTypeIcon() {
|
public function getMenuItemTypeIcon() {
|
||||||
return 'fa-link';
|
return 'fa-link';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Link');
|
return pht('Link');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ final class PhabricatorLinkProfilePanel
|
||||||
id(new PhabricatorIconSetEditField())
|
id(new PhabricatorIconSetEditField())
|
||||||
->setKey('icon')
|
->setKey('icon')
|
||||||
->setLabel(pht('Icon'))
|
->setLabel(pht('Icon'))
|
||||||
->setIconSet(new PhabricatorProfilePanelIconSet())
|
->setIconSet(new PhabricatorProfileMenuItemIconSet())
|
||||||
->setValue($this->getLinkIcon($config)),
|
->setValue($this->getLinkIcon($config)),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -73,7 +73,7 @@ final class PhabricatorLinkProfilePanel
|
||||||
$href = '#';
|
$href = '#';
|
||||||
}
|
}
|
||||||
|
|
||||||
$icon_object = id(new PhabricatorProfilePanelIconSet())
|
$icon_object = id(new PhabricatorProfileMenuItemIconSet())
|
||||||
->getIcon($icon);
|
->getIcon($icon);
|
||||||
if ($icon_object) {
|
if ($icon_object) {
|
||||||
$icon_class = $icon_object->getIcon();
|
$icon_class = $icon_object->getIcon();
|
|
@ -1,15 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorMotivatorProfilePanel
|
final class PhabricatorMotivatorProfileMenuItem
|
||||||
extends PhabricatorProfilePanel {
|
extends PhabricatorProfileMenuItem {
|
||||||
|
|
||||||
const PANELKEY = 'motivator';
|
const MENUITEMKEY = 'motivator';
|
||||||
|
|
||||||
public function getPanelTypeIcon() {
|
public function getMenuItemTypeIcon() {
|
||||||
return 'fa-coffee';
|
return 'fa-coffee';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return pht('Motivator');
|
return pht('Motivator');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ final class PhabricatorMotivatorProfilePanel
|
||||||
->setValue(
|
->setValue(
|
||||||
pht(
|
pht(
|
||||||
'Motivate your team with inspirational quotes from great minds. '.
|
'Motivate your team with inspirational quotes from great minds. '.
|
||||||
'This panel shows a new quote every day.')),
|
'This menu item shows a new quote every day.')),
|
||||||
id(new PhabricatorSelectEditField())
|
id(new PhabricatorSelectEditField())
|
||||||
->setKey('source')
|
->setKey('source')
|
||||||
->setLabel(pht('Source'))
|
->setLabel(pht('Source'))
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
abstract class PhabricatorProfilePanel extends Phobject {
|
abstract class PhabricatorProfileMenuItem extends Phobject {
|
||||||
|
|
||||||
private $viewer;
|
private $viewer;
|
||||||
|
|
||||||
|
@ -12,11 +12,11 @@ abstract class PhabricatorProfilePanel extends Phobject {
|
||||||
abstract protected function newNavigationMenuItems(
|
abstract protected function newNavigationMenuItems(
|
||||||
PhabricatorProfileMenuItemConfiguration $config);
|
PhabricatorProfileMenuItemConfiguration $config);
|
||||||
|
|
||||||
public function getPanelTypeIcon() {
|
public function getMenuItemTypeIcon() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract public function getPanelTypeName();
|
abstract public function getMenuItemTypeName();
|
||||||
|
|
||||||
abstract public function getDisplayName(
|
abstract public function getDisplayName(
|
||||||
PhabricatorProfileMenuItemConfiguration $config);
|
PhabricatorProfileMenuItemConfiguration $config);
|
||||||
|
@ -34,7 +34,7 @@ abstract class PhabricatorProfilePanel extends Phobject {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canHidePanel(
|
public function canHideMenuItem(
|
||||||
PhabricatorProfileMenuItemConfiguration $config) {
|
PhabricatorProfileMenuItemConfiguration $config) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -53,14 +53,14 @@ abstract class PhabricatorProfilePanel extends Phobject {
|
||||||
return $this->viewer;
|
return $this->viewer;
|
||||||
}
|
}
|
||||||
|
|
||||||
final public function getPanelKey() {
|
final public function getMenuItemKey() {
|
||||||
return $this->getPhobjectClassConstant('PANELKEY');
|
return $this->getPhobjectClassConstant('MENUITEMKEY');
|
||||||
}
|
}
|
||||||
|
|
||||||
final public static function getAllPanels() {
|
final public static function getAllMenuItems() {
|
||||||
return id(new PhutilClassMapQuery())
|
return id(new PhutilClassMapQuery())
|
||||||
->setAncestorClass(__CLASS__)
|
->setAncestorClass(__CLASS__)
|
||||||
->setUniqueMethod('getPanelKey')
|
->setUniqueMethod('getMenuItemKey')
|
||||||
->execute();
|
->execute();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
final class PhabricatorProfilePanelIconSet
|
final class PhabricatorProfileMenuItemIconSet
|
||||||
extends PhabricatorIconSet {
|
extends PhabricatorIconSet {
|
||||||
|
|
||||||
const ICONSETKEY = 'profilepanel';
|
const ICONSETKEY = 'profilemenuitem';
|
||||||
|
|
||||||
public function getSelectIconTitleText() {
|
public function getSelectIconTitleText() {
|
||||||
return pht('Choose Item Icon');
|
return pht('Choose Item Icon');
|
|
@ -58,15 +58,15 @@ final class PhabricatorProfileMenuItemConfigurationQuery
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function willFilterPage(array $page) {
|
protected function willFilterPage(array $page) {
|
||||||
$panels = PhabricatorProfilePanel::getAllPanels();
|
$items = PhabricatorProfileMenuItem::getAllMenuItems();
|
||||||
foreach ($page as $key => $panel) {
|
foreach ($page as $key => $item) {
|
||||||
$panel_type = idx($panels, $panel->getMenuItemKey());
|
$item_type = idx($items, $item->getMenuItemKey());
|
||||||
if (!$panel_type) {
|
if (!$item_type) {
|
||||||
$this->didRejectResult($panel);
|
$this->didRejectResult($item);
|
||||||
unset($page[$key]);
|
unset($page[$key]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$panel->attachPanel($panel_type);
|
$item->attachMenuItem($item_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$page) {
|
if (!$page) {
|
||||||
|
@ -82,14 +82,14 @@ final class PhabricatorProfileMenuItemConfigurationQuery
|
||||||
->execute();
|
->execute();
|
||||||
$profiles = mpull($profiles, null, 'getPHID');
|
$profiles = mpull($profiles, null, 'getPHID');
|
||||||
|
|
||||||
foreach ($page as $key => $panel) {
|
foreach ($page as $key => $item) {
|
||||||
$profile = idx($profiles, $panel->getProfilePHID());
|
$profile = idx($profiles, $item->getProfilePHID());
|
||||||
if (!$profile) {
|
if (!$profile) {
|
||||||
$this->didRejectResult($panel);
|
$this->didRejectResult($item);
|
||||||
unset($page[$key]);
|
unset($page[$key]);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$panel->attachProfileObject($profile);
|
$item->attachProfileObject($profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $page;
|
return $page;
|
||||||
|
|
|
@ -15,7 +15,7 @@ final class PhabricatorProfileMenuItemConfiguration
|
||||||
protected $menuItemProperties = array();
|
protected $menuItemProperties = array();
|
||||||
|
|
||||||
private $profileObject = self::ATTACHABLE;
|
private $profileObject = self::ATTACHABLE;
|
||||||
private $panel = self::ATTACHABLE;
|
private $menuItem = self::ATTACHABLE;
|
||||||
|
|
||||||
const VISIBILITY_DEFAULT = 'default';
|
const VISIBILITY_DEFAULT = 'default';
|
||||||
const VISIBILITY_VISIBLE = 'visible';
|
const VISIBILITY_VISIBLE = 'visible';
|
||||||
|
@ -31,14 +31,14 @@ final class PhabricatorProfileMenuItemConfiguration
|
||||||
->setVisibility(self::VISIBILITY_VISIBLE);
|
->setVisibility(self::VISIBILITY_VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function initializeNewPanelConfiguration(
|
public static function initializeNewItem(
|
||||||
$profile_object,
|
$profile_object,
|
||||||
PhabricatorProfilePanel $panel) {
|
PhabricatorProfileMenuItem $item) {
|
||||||
|
|
||||||
return self::initializeNewBuiltin()
|
return self::initializeNewBuiltin()
|
||||||
->setProfilePHID($profile_object->getPHID())
|
->setProfilePHID($profile_object->getPHID())
|
||||||
->setMenuItemKey($panel->getPanelKey())
|
->setMenuItemKey($item->getMenuItemKey())
|
||||||
->attachPanel($panel)
|
->attachMenuItem($item)
|
||||||
->attachProfileObject($profile_object);
|
->attachProfileObject($profile_object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,13 +67,13 @@ final class PhabricatorProfileMenuItemConfiguration
|
||||||
PhabricatorProfileMenuItemPHIDType::TYPECONST);
|
PhabricatorProfileMenuItemPHIDType::TYPECONST);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function attachPanel(PhabricatorProfilePanel $panel) {
|
public function attachMenuItem(PhabricatorProfileMenuItem $item) {
|
||||||
$this->panel = $panel;
|
$this->menuItem = $item;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPanel() {
|
public function getMenuItem() {
|
||||||
return $this->assertAttached($this->panel);
|
return $this->assertAttached($this->menuItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function attachProfileObject($profile_object) {
|
public function attachProfileObject($profile_object) {
|
||||||
|
@ -95,27 +95,27 @@ final class PhabricatorProfileMenuItemConfiguration
|
||||||
}
|
}
|
||||||
|
|
||||||
public function buildNavigationMenuItems() {
|
public function buildNavigationMenuItems() {
|
||||||
return $this->getPanel()->buildNavigationMenuItems($this);
|
return $this->getMenuItem()->buildNavigationMenuItems($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPanelTypeName() {
|
public function getMenuItemTypeName() {
|
||||||
return $this->getPanel()->getPanelTypeName();
|
return $this->getMenuItem()->getMenuItemTypeName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getDisplayName() {
|
public function getDisplayName() {
|
||||||
return $this->getPanel()->getDisplayName($this);
|
return $this->getMenuItem()->getDisplayName($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canMakeDefault() {
|
public function canMakeDefault() {
|
||||||
return $this->getPanel()->canMakeDefault($this);
|
return $this->getMenuItem()->canMakeDefault($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canHideMenuItem() {
|
public function canHideMenuItem() {
|
||||||
return $this->getPanel()->canHidePanel($this);
|
return $this->getMenuItem()->canHideMenuItem($this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function shouldEnableForObject($object) {
|
public function shouldEnableForObject($object) {
|
||||||
return $this->getPanel()->shouldEnableForObject($object);
|
return $this->getMenuItem()->shouldEnableForObject($object);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSortKey() {
|
public function getSortKey() {
|
||||||
|
|
|
@ -146,4 +146,4 @@ Writing New Item Types
|
||||||
|
|
||||||
IMPORTANT: This feature is not stable, and the API is subject to change.
|
IMPORTANT: This feature is not stable, and the API is subject to change.
|
||||||
|
|
||||||
To add new types of items, subclass @{class:PhabricatorProfilePanel}.
|
To add new types of items, subclass @{class:PhabricatorProfileMenuItem}.
|
||||||
|
|
Loading…
Reference in a new issue