Commit graph

58 commits

Author SHA1 Message Date
Clemente Raposo
a549d23644 Always log install log to base log folder 2025-01-21 16:29:30 +00:00
Clemente Raposo
9c1124972f Add support for adding languages in extensions 2024-11-27 15:10:22 +00:00
Clemente Raposo
8649256a10 Add extra ldap configuration options to env 2024-08-22 15:11:30 +01:00
Clemente Raposo
c68d61e782 Allow SAML to be configured in env 2024-08-21 18:06:16 +01:00
Clemente Raposo
a9052019cc Symfony 6.4 - Update Session handling to use the same session in symfony and legacy
- Start Session using legacy
- Add LegacyBridgeSession handlers to have so that symfony uses the legacy session
2024-08-21 18:06:15 +01:00
Clemente Raposo
c1577aaed5 Allow extending packages and routes config in extensions 2022-09-09 12:46:23 +01:00
Clemente Raposo
db6afc52fc Allow switching between native and ldap login
- Add base ldap service configuration
- Add dynamic login configuration selection based on env
- Add default env options for ldap
2022-09-09 12:46:22 +01:00
Clemente Raposo
5e6a42f50c Module framework - remove suite 8 module specific config
- Remove bulk actions suite 8 side config
- Remove sidebar widgets suite 8 side config
- Remove record actions suite 8 side config
2021-09-09 14:59:22 +01:00
Clemente Raposo
983de9a271 Allow extending core service parameters 2021-06-23 10:09:40 +01:00
Clemente Raposo
d22cfbbf8f Add Upgrade Command
- Add Upgrade Package handler

-- Add base package handler service with re-usable api handle packages
-- Re-usable service to extract and apply upgrade packages
-- Add upgrade settings to configs

- Add Base command

-- Add abstract class with common input processing logic

- Add Upgrade Command

-- Add re-usable UpgradeHandler with api for applying upgrades
-- Add command to call upgrade handler
-- Add service feedback
-- Call clear cache on upgrade command

- Add Upgrade step by step execution

-- Add process step interface and executor
--- add common logging to each step execution
--- add debug logging for each step execution
--- allow running processes step by step
--- allow configuring steps independently

-- Move upgrade handler and upgrade command to use step executor
-- Add upgrade log
-- Improve upgrade command output
2021-06-23 10:09:40 +01:00
Dillon-Brown
a8e3dbf784 Update core service declarations
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:40 +01:00
Dillon-Brown
bcd937fc62 Move extension services into separate yaml file
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:39 +01:00
Dillon-Brown
2bee83c82c Add extensions to services definition
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:39 +01:00
Dillon-Brown
dbabb16009 Update composer autoloading for extensions
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:39 +01:00
Dillon-Brown
4603a6afbe Add extensions as a service resource
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:38 +01:00
Dillon-Brown
7410ade3a9 Move core services to be imported
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:38 +01:00
Clemente Raposo
97da21c1fa Add grouped field definition handling
- Add field definition mappers
-- Allows to add mapper classes that map the resulting definition
-- Declare mappers in services definition
- Add support for defining grouped fields
-- Add grouped field definition mapper
- Map legacy style group fields to new format
-- Add legacy grouped field mapper
- Add View definition mappers
- Add default configuration for group field preset types
-- Configure address default config
--- Set default layout
--- Set default display
--- Set default labels
- Map Group field types like address
-- apply default values

- Add codeception unit tests
2021-03-30 19:22:37 +01:00
Dillon-Brown
e9efb1d6af Remove default_index_method from tagged services
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:37 +01:00
Dillon-Brown
e14c076981 Restructure project index to public dir
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:36 +01:00
Clemente Raposo
af186a7013 Add RecordList FilterMappers
- Refactor LegacyFilterMapper to allow adding mappers per type
- Add date and date time mappers to convert to proper format
-- Api should receive fields in internal format
-- Legacy search expects user format
-- Convert to user format when calling legacy search

- Add multienum to correctly process criteria
-- Api search criteria receive an array of values
-- For other fields legacy expects just one value not an array
-- For multienum legacy expects an array of values
-- Add mapper to send array of values to legacy for multienums
2021-03-30 19:22:35 +01:00
Clemente Raposo
bb19193aa1 Use sidebar widgets in list view
- Update list view folder to follow new structure
-- Move list view related components to list view folder
-- Move list view store to list view folder
-- Move list view adapters to list view folder

- Remove old implementation of list view charts
- Use sidebar widgets component

- Add support for declaring list view sidebar widgets
-- Replace ChartDefinitionProvider with ListViewSidebarWidgetDefinitionProvider
-- Add default configuration for list view sidebar widgets

- Add ListQueryDataHandler
-- Allows to easily get the list view query for the criteria set
-- Allows to override query parts and execute it

- Configure leads sidebar widget
- Add LeadsByStatusCount series statistic provider
-- Add unit tests

- Update unit tests
2021-03-30 19:22:35 +01:00
Clemente Raposo
09bcf1c871 Message component enhancements
- Adjust alert position
- Add ability to close when clicking in any part of the alert
- Add timer to auto-close success messages
-- Make timeout configurable through the backend
- Add fade in and fade out effects
- Add min width to alerts
- Add karma / jasmine tests
2021-03-30 19:22:34 +01:00
Clemente Raposo
fca0b8c375 Add Configurable Record view actions
- Rename frontend bulk actions to async actions
- Adjust actions.adapter.ts to use recordview meta actions
-- Check type of action and if its async
-- Allow running async actions
-- Allow reloading page if flag sent from backend
- Add RecordActionDefinitionProvider
- Add record view default actions configuration
- Add DeleteRecordAction
- Add DuplicateRecordAction
- Adjust karma/jasmine tests
- Add codeception unit tests
- Rename options dropdown to actions
- Change action button group rendering
-- allow some items to always be expanded
-- float to the left on extra small screens
- Add record view specific screen size action limits
2021-03-30 19:22:33 +01:00
Dillon-Brown
643bdfd23c Add dev secret vault
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:32 +01:00
Dillon-Brown
e82feb45b7 Update UserRepository and security.yaml to allow more control over user authentication
- Remove hardcoded property identifier to enable us to chose how users are identified.
- Remove user password encoding that isn't used in favour of using legacy users.
- Optimizing the container by removing unused services through service configs.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Dillon-Brown
5a8f382f03 Refactor all existing namespaces
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Dillon-Brown
6734f26d98 Implement CSRF protection
- Remove outdated CSRF package
- Implement core CSRF protection

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Clemente Raposo
d062e56cd8 Add subpanel stats
- Retrieve the subpanel stats from backend
-- with mock data for now
- Display inline loading spinner while the stats are being retrieved
- Render stats using field component
- Add statistics api, resolvers and data providers
- Add statistics provider registry
- Add the needed statistics providers for each subpanel type
-- return mock data for now
- Add inline loading spinner component
2021-03-30 19:22:30 +01:00
Clemente Raposo
8829495f50 Subpanel data retrieval
- Add ability to defined preset data handlers
-- Extract regular list view data logic to ListDataHandler.php
-- Add PresetListDataHandlerInterface.php and PresetListDataHandlers.php to give the ability do define a preset query
-- Add logic to RecordListHandler.php to use the preset data handler if the preset info is passed on the criteria.
- Update subpanel stores in front end
-- Initialize store proper subpanel criteria
-- Initialize subpanel stores within recordView store.
-- Trigger subpanel data load on subpanel display
- Update subpanel
-- Update styling
-- enable minimize button
- Update table
-- Add loading
2021-03-30 19:22:30 +01:00
Dillon-Brown
5579401a1f Implement routing configuration
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:30 +01:00
Clemente Raposo
0010232df3 Remove subpanel suite8 side configuration
- Use title provided in layout defs for each module
- Use module icon as subpanel icon
2021-03-30 19:22:30 +01:00
codeph0y
56d97d726e Add subpanel buttons 2021-03-30 19:22:29 +01:00
Clemente Raposo
357b052293 Add button group component
- Add button group component
- Add dropdown submenu component
- Apply button group to listview actions menu
- Apply button group to listview settings menu
- Add actions and settings menu limit size based configuration
- Re-factor columnchooser component to be able to call dynamically
- Fix console error on app component
- Add unit tests
2021-03-30 19:21:40 +01:00
Pedro Ernst
1c35bdd580 Feature #11505 List View Line Actions
Add line actions to listview to allow creating related records
2021-03-30 19:21:38 +01:00
Garry Henderson
2eca6056da Display/hide listview columns by screen size 2021-03-30 19:21:38 +01:00
Dillon-Brown
2f5472f3c3 Add initial chart configuration for listview
- Create charts.yaml configuration.
- Add chart interface.
- Add chart service to fetch chart config.
2021-03-30 19:21:37 +01:00
Clemente Raposo
cc92e16141 Add configurable ListView BulkActions
- Add BulkActionDefinitionProvider
-- Add module.listview.bulk_action symfony parameter config
--- Add base config to bulk_actions.yaml
-- Add AclHandler legacy handler
- Add bulk actions list to the list view definitions api
- Retrieve bulk actions in metadata store
- Add bulkactions to list view store
- Display bulk actions list in bulk-action-menu.component
- Change dropdown-button to render dropdown items as <a> tags
- Add/update codeception unit tests
- Add/update karma/jasmine unit tests
2021-03-30 19:21:37 +01:00
Clemente Raposo
84bf643ce4 Add ListView filtering
- Add legacy filtering to ListView handler
- Map new filter format to legacy format
-- Add filter_operator_map.yaml to configure mappings
- Add criteria to field interface to support filter fields
- Add varchar filter mode component
-- Uses criteria instead of value for displaying and data binding
- Add search and clear buttons to list filter panel
-- Use internal criteria to keep current criteria status
--- Updated using filter field 2 way data binding
-- Update ListView store criteria on search or clear
- Update ListView store fetch method to use criteria
- ListView store: store criteria on local storage
-- Add current list criteria to local storage upon search
-- Load criteria when list view data is loaded
- Clear selection when filter is applied
- Update karma/jasmine tests
2021-03-30 19:21:37 +01:00
Clemente Raposo
a46a30e7c7 Add responsive navbar layout
- Add screensize observer to check size changes
- Add navbar item limit configuration per screen size
-- exposed through system configs
- Re-adjust navbar upon screen size changes
2021-03-30 19:21:37 +01:00
Clemente Raposo
ac0b0eb1b4 Add Cache Reset Actions
- Add configuration file for module actions that should reset cache
- Expose cache reset actions in the system config api
- Add route event listener to reset cache when navigating a way from defined cache reset actions
- Update unit tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
21a831e9f3 Add date and time format config and preference mappers
- Update SystemConfigHander
-- Add ability to map config name
-- Add ability to map config value
-- Add SystemConfigMappers.php to store config mappers

- Update UserPreferenceHandler
-- Add ability to map preference name
-- Add ability to map preference value
-- Add UserPreferencesMappers to store preferences mappers

- Configure config mappers for date format
- Configure preference mappers for time format

- Update unit tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
f10cc2812f Display selected module on navbar
- Add current module and action to AppState
- Calculate current module and action in BaseModuleResolver
-- Add logic to show current module as active on
--- import and find duplicates
- Update legacy handler method to retrieve available modules
-- Also send invisible modules, to
--- Allow to display invisible modules as the selected module
-- Update module name mape
- Retrieve number of navbar items from backed

- Fix grouped tab links
- Simplify navbar abstract by simplifying parameters
-- passing language map instead of individual language
-- passing navigation object instead of individual parts
- Create smaller components for repeated parts of navbar
-- grouped-menu-item
-- menu-item
-- menu-item-link
-- menu-item-list
-- home-menu-item
-- home-menu-recently-viewed

- Removing "jsdoc/no-types" from eslint
-- To avoid conflicts with jsdoc/require-param-type
2021-03-30 19:21:35 +01:00
Clemente Raposo
5d6aa45391 Add Route conversion on legacy
- Add legacy handler to access RouteConverter
- Add legacy handler to access ModuleNameMapper
- Add legacy handler to access ActionNameMapper
- Remove action and module name maps from Suite8 side

- Update frontend route converter to check for suite 8 routes
-- When link is a suite 8 route does not convert

- Add LegacyScopeState to allow for nested legacy handler calls
-- Add abstract getHandlerKey to base LegacyHandler
-- Implement getHandlerKey on all legacy handlers

- Update legacy handler init and close methods to use scope state
-- Check if withing an already open legacy handler scope
2021-03-30 19:21:34 +01:00
Clemente Raposo
6c3e266b5d Add legacy api re-direction
- Listen to legacy api calls on the LegacyRedirectListener
- Add LegacyApiRedirectHandler to re-direct to legacy endpoint
-- Using 307 re-direction response to support post re-direction
-- Using api_paths.yaml with the configuration with paths to check

- Setup API tests using codeception
-- Add helper methods to login in v4 and v8 API
- Add Api test to create account using v4 api
- Add Api test to create account using v8 api
- Add unit test for LegacyApiRedirectHandler
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
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