Commit graph

378 commits

Author SHA1 Message Date
Dillon-Brown
aa242f970c Implement user action menu
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Dillon-Brown
bc115670ba Add legacy user provider
- This changes the Symfony User entity to fetch the user from the legacy users table

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Clemente Raposo
25f7d38fcd Add legacy suite configuration support for grouped tabs
- Add ability to fully start legacy app on legacy handlers
- Update Navbar and UserPreferences handler to start the legacy app after init
- Update Navbar and UserPreferences handler to implement the corresponding interfaces
-- Update corresponding Data providers to use the new interfaces

- Change Navbar legacy handler to take into account the tab configured preferences
-- based on the implementation used in Legacy SugarView

- Update UserPreferences to use the currently logged in user
-- remove hard coded user
-- get UserPreferences from the legacy User object instead of grabbing it directly from the db

- Add All entry to grouped tabs

- Adjust unit tests
2021-03-30 19:21:34 +01:00
Dillon-Brown
9d484ed4a4 Linkup footer back to top with authentication
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Dillon-Brown
07cfbf4d37 Add default session expiration
- Sets default cookie lifetime to use PHP.ini value.
- Adds bn-ng-idle to handle idle user.
- Sets default timeout to 3600 seconds to log the user out and redirect to the login page.
- Displays a warning message to the user on session timeout.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Clemente Raposo
77c7057328 Expire Suite 8 session when Suite 7 expires
- Check Suite7 session on authenticated endpoints
-- Decorate Security Stage for Graphql
-- Decorate DenyAccessListener for REST
-- Add legacy handler method to check the suite 7 session
- Add Unit tests
2021-03-30 19:21:34 +01:00
Clemente Raposo
59c3efd08c Add Suite 8 LogoutListener
- Add LegacySessionLogoutHandler
-- Logout Legacy Suite session when Suite 8 is logged out
-- Configure handler to decorate SessionLogoutHandler
- Add logout to Authentication legacy handler
- Add AspectMock lib
- Add unit tests for LegacySessionLogoutHandler
- Rename unit test folders to be consistent with src.
-- Use the same pattern used in Suite 7
2021-03-30 19:21:33 +01:00
Clemente Raposo
895ec5b4f7 Add ThemeImages API
- Add ThemeImages Entity
- Add ThemeImages DataProvider
- Add ThemeImage Service
-- Retrieves the list of images for a given theme
- Add ThemeImagesFinder
-- looks up for images inside a given path
-- Add configuration to specify theme image paths
-- Add configuration to specify supported image types
- Add unit tests
- Add theme-images angular facade
- Update base metadata resolver to load theme images
-- Move UserPreferences loading ot base metadata resolver
-- Loaded theme images after user preference and config loading
--- uses default_theme, if user preferences weren't loaded
-- Add jasmine tests
- Add scrm-image component
-- Add jasmine tests
- Replace usages of svg-icon with image component
-- Fix jasmine tests
- Adjust UserPreference interface to match the current data
2021-03-30 19:21:33 +01:00
Dillon-Brown
b8d9afb4ae Linkup login redirect to system config 2021-03-30 19:21:33 +01:00
Ross Moroney
6b2c10092d Add user preferences api and legacyhandler 2021-03-30 19:21:33 +01:00
Clemente Raposo
9449fe037f Add Process API
- Add Process entity
- Add ProcessDataPersister to allow submitting process requests
- Add Process Collection and Item Data providers
- Add ProcessHandlerInterface to be implemented by process handlers
- Add ProcessHandlerRegistry to key based access to process handlers
-- Add tagged and key based service collection injection
--- to auto inject services implementing the ProcessHandlerInterface
--- Auto tag all services implementing the ProcessHandlerInterface
- Add angular service for processes
- Add Authentication check before running process
- Add GQL record mutation
2021-03-30 19:21:33 +01:00
Clemente Raposo
a8235c444a Add Navbar translations
- Make language facade loading dynamic to load given types of strings
-- Add cache per type of language strings
-- Add configuration per type of language strings
-- Enable fetching modStrings, appStrings, appListStrings
- Expose a stream for each type of strings

- Make BaseMetadataResolver language loading dynamic based on router configuration
-- Add navigation loading
-- add string loading, depending on configuration
-- Add default configuration: Loads SystemConfigs, Navigation and all Languages
-- Add ability to override default configuration on router
- Configure BaseMetadata resolver in router
- Only use default language if it there is no active language

- Update login component to cope with changes to language facade

- Refactor: move existing facades to the facades folder

- Re-write navigation facade to use reactive facades approach

- Update navbar api to cope with with api contract
-- Add modules entry
-- Move moduleSubmenus to modules entry
-- Disable collection query on graphql
-- Update frontend to cope with these changes

- Update navbar component
-- Cleanup component
-- Fetch navigation and languages reactively
-- Update navbar menu item creation with new navigation structure
-- Fix html for loading icons
-- Fix html for regular module tab menu

- Translate navbar items
-- Add translations on navbar menu items creation

- Add karma tests

- Adjust navbar to properly render links
-- Add extra query params to submenu in API
-- Adjust LegacyHandler to retrieve the extra query params
-- Adjust angular component
2021-03-30 19:21:33 +01:00
Clemente Raposo
ec5688c2e0 Add support for extra query parameters on classic view
- Update ClassicView Graphql API
-- add custom query for retrieving the classic view
-- add custom resolver

- Add ClassicView legacy handler

- Update ClassicView angular rendering
-- add classic view facade
-- add classic-view graphql query
-- remove rest classic-view request

- Update ClassicView angular resolver
-- send information about extra query params

- Add custom router re-use strategy
-- Allow configuring if a given route should be re-used
-- Disable re-usage in classic view routes
2021-03-30 19:21:33 +01:00
Clemente Raposo
baae4e2129 Add Legacy asset re-direction
- Add handler to check and build re-direction path
- Re-direct legacy assets on LegacyRedirectListener
- Add configuration with list of legacy asset paths
- Add dummy image call to the ClassicViewItemDataProvider
2021-03-30 19:21:33 +01:00
Clemente Raposo
0ff1c9072c Link data to login component
- Add language facade
- Add appStrings observable from facade
- Combine appStrings and systemConfigs into vm (viewModel)
- Link data to login component template
- Expose needed languages from the Users module
- Unprotect graphiql endpoint
2021-03-30 19:21:32 +01:00
Ross Moroney
ba67d839e3 Add language dropdown too login screen 2021-03-30 19:21:32 +01:00
Clemente Raposo
b624a27088 Remove unneeded service configuration in favor of autowiring 2021-03-30 19:21:32 +01:00
Clemente Raposo
c02ab30a05 Add SystemConfig Legacy Handler
- Add SystemConfi Legacy handler
- Add service configuration to specify which configs are exposed to the frontend
- Update Systemconfig Item and Collection data provider to use legacy handler
- Add unit tests for legacy handler
2021-03-30 19:21:32 +01:00
Clemente Raposo
bd2e3d6e0c 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
2021-03-30 19:21:32 +01:00
Clemente Raposo
ac13d08e44 Enable GraphiQl docs
- Configure the assets folder to public
- Enable GraphiQl docs
2021-03-30 19:21:32 +01:00
Dillon-Brown
287ed2fb15 Add Angular CSRF protection 2021-03-30 19:21:31 +01:00
Dillon-Brown
9bff8530c6 Add Suite-8 user authentication 2021-03-30 19:21:31 +01:00
Clemente Raposo
668bd04df9 Serve frontend app using symfony router 2021-03-30 19:21:31 +01:00
Clemente Raposo
b809e5c85b Add ClassicView routing
Redirect Suite7 requests to Suite8 ClassicView routes for valid actions
- Use Symfony kernel events
- Use Symfony service configuration and DI for module mapping

Add legacy redirection tests
- Add acceptance test support
-- Add config helper
- Fix issue when running `codcept run`
-- functional tests missing
- Add functional tests for legacy routing
- Add unit tests for legacy routing
2021-03-30 19:21:31 +01:00
Clemente Raposo
58281a6b64 Implement ClassicView
Add FrontEnd api calls
- Add api method to retrieve classic view html
- Add apiUrl endpoint environment configuration
- Add Resolver to ClassicView routes

Implement FrontEnd component
- Add html and js rendering to classic view.

Add Classic View api-platform Entity and data provider

- Add ClassicViewData Dto with resource definition
- Add Classic controller with dummy html
- Declare controller in the services.yaml
2021-03-30 19:21:31 +01:00
Dillon-Brown
8cf555f4ee Update and audit existing project dependencies for Symfony/Flex.
- Converted all non-flex bundles with available bundles into Symfony/Flex.
- Updated namespaces to more closely match Symfony.
- Removed unnecessary dependencies and recipes.
- Executed Symfony/Flex recipes to create default configs.
- Improved composer.json scripts.
2021-03-30 19:21:31 +01:00
Dillon-Brown
587a79613e Add API Platform Framework with Symfony/Flex
This implements the basic structure that will be used for the API and core application.
2021-03-30 19:21:30 +01:00
Dillon-Brown
c895877b7e SuiteCRM 8 initial commit 2021-03-30 19:12:01 +01:00