[TASK] Decouple adminPanel from frontend 58/56558/18
authorSusanne Moog <susanne.moog@typo3.org>
Thu, 5 Apr 2018 11:09:41 +0000 (13:09 +0200)
committerBenni Mack <benni@typo3.org>
Fri, 6 Apr 2018 18:36:33 +0000 (20:36 +0200)
commit1eeedc59379b1698006c3b8607705df3367e0d91
tree2779780559be05957de3f079b6f374b32968be07
parent41a2a6916f6f19a8d181548cf6bca38ba46ba741
[TASK] Decouple adminPanel from frontend

The admin panel has been extracted into an own extension. To enable
users to de-activate the admin panel completely, the hard coupling
between the extension and other parts of the core had to be resolved.

With this change, the initialization of both adminPanel and feedit
were moved into PSR-15 middlewares. Additionally all parameters
related to the adminPanel were removed from the FrontendBackend-
UserAuthentication.

As feedit is tigthly coupled with the adminPanel some changes had
to be made to its initialization, too.

The flow of the adminPanel initialization and rendering were
streamlined to allow modules to make use of the request object.

Due to these changes in the control flow of the application the
two existing tests were removed and new tests will be rewritten
once the API is declared as stable.

Releases: master
Resolves: #84641
Change-Id: I72beefde0d792d3f4295c45aa27204c817d2de7a
Reviewed-on: https://review.typo3.org/56558
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
31 files changed:
typo3/sysext/adminpanel/Classes/Controller/MainController.php [new file with mode: 0644]
typo3/sysext/adminpanel/Classes/Hooks/RenderHook.php [new file with mode: 0644]
typo3/sysext/adminpanel/Classes/Middleware/AdminPanelInitiator.php [new file with mode: 0644]
typo3/sysext/adminpanel/Classes/Modules/AbstractModule.php
typo3/sysext/adminpanel/Classes/Modules/AdminPanelModuleInterface.php
typo3/sysext/adminpanel/Classes/Modules/CacheModule.php
typo3/sysext/adminpanel/Classes/Modules/EditModule.php
typo3/sysext/adminpanel/Classes/Modules/PreviewModule.php
typo3/sysext/adminpanel/Classes/Modules/TsDebugModule.php
typo3/sysext/adminpanel/Classes/Repositories/FrontendGroupsRepository.php
typo3/sysext/adminpanel/Classes/Service/EditToolbarService.php [new file with mode: 0644]
typo3/sysext/adminpanel/Classes/View/AdminPanelView.php
typo3/sysext/adminpanel/Configuration/RequestMiddlewares.php [new file with mode: 0644]
typo3/sysext/adminpanel/Tests/Unit/View/AdminPanelViewTest.php [deleted file]
typo3/sysext/adminpanel/Tests/Unit/View/Fixtures/AdminPanelDisabledModuleFixture.php [deleted file]
typo3/sysext/adminpanel/Tests/Unit/View/Fixtures/AdminPanelEnabledShownOnSubmitInitializeModuleFixture.php [deleted file]
typo3/sysext/adminpanel/composer.json
typo3/sysext/adminpanel/ext_localconf.php
typo3/sysext/backend/Classes/FrontendBackendUserAuthentication.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-84641-DeprecatedAdminPanelRelatedMethods.rst [new file with mode: 0644]
typo3/sysext/feedit/Classes/FrontendEditPanel.php
typo3/sysext/feedit/Classes/Middleware/FrontendEditInitiator.php [new file with mode: 0644]
typo3/sysext/feedit/Configuration/RequestMiddlewares.php [new file with mode: 0644]
typo3/sysext/feedit/composer.json
typo3/sysext/frontend/Classes/Http/RequestHandler.php
typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php
typo3/sysext/frontend/composer.json
typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallMatcher.php
typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyPublicMatcher.php
typo3/sysext/lang/Resources/Private/Language/locallang_tsfe.xlf
typo3/sysext/workspaces/Classes/Authentication/PreviewUserAuthentication.php