Add session swapping to LegacyHandlers

- Autowire LegacyHandlers as Symfony Services
-- Configure legacy handlers folder in service.yml
-- Replace handler instantiation with service injection

- Add init and close to legacy handlers
-- Swap sessions
-- Swap current dir
-- Add config to allow moving values between sessions
-- replace hard coded values with injected configuration

- Remove unused services and corresponding unit test
-- NavbarService.php
-- AuthenticationService.php

- Refactor Authentication Handler to
-- call init and close methods

- Refactor navbar handler to be used as a service
-- Adjust navbar unit tests
This commit is contained in:
Clemente Raposo 2020-03-06 12:59:10 +00:00 committed by Dillon-Brown
parent 93d49d2514
commit bd2e3d6e0c
14 changed files with 343 additions and 320 deletions

View file

@ -3,6 +3,9 @@ framework:
parameters:
secret: ThisTokenIsNotSoSecretChangeIt
legacy.dir: '%kernel.project_dir%/legacy'
legacy.session_name: 'LEGACYSESSID'
default_session_name: 'PHPSESSID'
imports:
- { resource: services/*/*.yaml }
@ -14,6 +17,9 @@ services:
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
bind:
$projectDir: '%kernel.project_dir%'
$legacyDir: '%legacy.dir%'
$legacySessionName: '%legacy.session_name%'
$defaultSessionName: '%default_session_name%'
# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
@ -21,6 +27,11 @@ services:
resource: '../core/src/*'
exclude: '../core/src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
# makes classes in legacy/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
SuiteCRM\Core\Legacy\:
resource: '../core/legacy/*'
# controllers are imported separately to make sure services can be injected
# as action arguments even if you don't extend any base controller class
App\Controller\: