* IDEMPIERE-5697 - Improve Process Log for more advanced logging options for Processes
* IDEMPIERE-5697 - fix javadoc
* IDEMPIERE-5697 - add PInstanceLogType to AD_PInstance_Log
* IDEMPIERE-5697 - implement Status Log Type
- implement Status Log Type
- fix javadoc
* IDEMPIERE-5697 - definition changes
- rename log type 'Tail' to 'Progress' as Chuck Boecking suggested
- make ad_pinstance_log_uu the primary key as Heng Sin suggested
* IDEMPIERE-5697 - updateLog method with UUID
* IDEMPIERE-5697 - requested changes
- split insert and update
- fix wrong javadoc
- small fixes
* IDEMPIERE-5697 - requested changes
- fix javadoc
- fix migration scripts
* IDEMPIERE-5697 - balance API
- rename methods in SvrProcess: saveLog -> saveProgress, saveStatus; updateLog -> updateStatus
- remove progress and status methods that take table and record id arguments, there is no need to save them in separate fields with there log types
* IDEMPIERE-5697 - balance API
- exchange logic between Progress and Status log types
- modify method names in ProcessInfo based on SvrProcess
* IDEMPIERE-5697 - pr 1808 patch by Heng Sin
- fix oracle migration script
* IDEMPIERE-5723 NPE when allocate has both AR and AP invoice
base on patch from gauravsontakke
* IDEMPIERE-5723 NPE when allocate has both AR and AP invoice (fix code review)
https://github.com/idempiere/idempiere/pull/1842#pullrequestreview-1429618616
* IDEMPIERE-5723 NPE when allocate has both AR and AP invoice (check Accrual)
createInvoiceGainLoss isn't yet test for non accrual so at check for accrual to consistent with above code
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195) - Toolbar
- add support for AD_Attachment, CM_Chat, AD_PostIt and AD_LabelAssignment for UUID based tables
* - Better deprecated message
- Better deprecated management for constructors
* - Fix non unique exception on ad_changelog
- Fix to save changelog just ID on insert and not the UUID for ID based tables
* IDEMPIERE-5735 Useless code in GridTable.dataSave
* - Solve issue with saving zero ID records on UI
* - remove unnecessary row - don't need to read again PO because gridTable.getPO returns now correctly POs with zero ID
* IDEMPIERE-5216 - HTML report Record ID Trl fix
* IDEMPIERE-5216 - HTML report Record ID Trl fix
* IDEMPIERE-5216 - add fallback if Trl not found
* IDEMPIERE-5216 - fix inconsistancy in logic
- DataEngine.java uses the Env.isBaseLanguage method
* IDEMPIERE-5216 - fix inconsistancy in logic
* IDEMPIERE-5216 - fix javadoc
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195) - Recent Items
- Implement support for recent items for UUID based tables
- Refactor MRecentItem for better performance
* - fixes
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195) - ChangeLog - FKRules
* - change warning by IllegalArgumentException
- change package visibility to protected
* - remove unnecessary code - the Model Cascade is calling the deleteModelCascade for children too
* - Implement SysConfig AD_CHANGELOG_SAVE_UUID
- reorganize MSysConfig (there were entries out of order)
* - Add index for performance on AD_ChangeLog.Record_UU
* - Enable change log for tables with multi-key (like _Trl or _Access)
* - Enable saving change log for AD_ClientInfo
* - when updating a record that doesn't have UUID - assign one
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195)
- Fix Record UUID editor
* - Separate WRecordEditor and WRecordUUIDEditor for ID and UUID
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195)
- integrate patch from Heng Sin
---------
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-5683 - Improve Record ID and Record UU by Constraint Type
* IDEMPIERE-5683 - replace direct sql with model classes
- rename deleteSetNull to setRecordIdNull
- replace direct sql with model classes in deleteCascade, setRecordIdNull
- remove unnecessary change from AD_Ref_List
* IDEMPIERE-5683 - cache tables arrays in PO_Record
* IDEMPIERE-5683 - fix Dynamic Validation
* IDEMPIERE-5683 - change CleanOrphanCascade
- IsCleanChangeLog process parameter removed
- replace direct sql with java model
- delete just on Model Cascade constraint
- new Set Null rule implemented
* IDEMPIERE-5683 - fix when Record_ID is mandatory
* IDEMPIERE-5707 PostgreSQL should use FOR NO KEY UPDATE instead of FOR UPDATE
* IDEMPIERE-5707 PostgreSQL should use FOR NO KEY UPDATE instead of FOR UPDATE
- add trx timeout unit test
* IDEMPIERE-5701: Improve logs when role cannot report or export
https://idempiere.atlassian.net/browse/IDEMPIERE-5701
* IDEMPIERE-5701: Reduce log level when role cannot report or export and hide Report button when role cannot report
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-5695 - Process audit doesn't set print language, format, print format on Forms/documents
* IDEMPIERE-5695 - get language from print format
* IDEMPIERE-5695 - fix javadoc
* IDEMPIERE-5695 - implement in startStandardReport and startFinReport
* IDEMPIERE-5696: Width of last column of reports exported as Xlsx is not correct
https://idempiere.atlassian.net/browse/IDEMPIERE-5696
* IDEMPIERE-5696: Width of last column of reports exported as Xlsx is not correct - patch from hengsin
Co-Authored-By: hengsin <152246+hengsin@users.noreply.github.com>
---------
Co-authored-by: hengsin <152246+hengsin@users.noreply.github.com>
* IDEMPIERE-5669 - Report Row Count shows incorrect data
2 issues fixed:
- row count in tab did not refresh on clicking the refresh button (only on re-run)
- row count included function rows too
* IDEMPIERE-5669 - fixes
- added private attribute to rowCount Label
- added null-check to updateRowCount() method
* IDEMPIERE-5567 Support of UUID for Search (UU) data type (FHCA-4195) - fix broken unit tests
* - Fix problem with unit test:
MTestTest.testReadingUpdatingTest:65 expected: <Test setting description> but was: <Test setting descriptionMTestEventDelegate>
* IDEMPIERE-5671: Fixing Line net amount has error due to rounding.
* IDEMPIERE-5671: on price calculation add 12 decimal rounding to avoid rounding error
Co-authored-by: carg67@gmail.com
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195)
New generated model classes with new UUID constructor
* - In order to use UUID constructor M classes must implement the constructor too
- Adding the constructor on MTest and adding a JUnit test to test/show how it works
* - Remove warning caused by changes on this ticket
* - Add UUID constructor to factories
* - Set new UUID constructor in mapped/annotated test classes
- Preparation for the new UUID constructor
* - Add UUID constructor to core model classes
- WARNING: MPaymentBatch(Properties, String, String) already existed with Name as parameter, it was changed to UUID
* IDEMPIERE-5482 - Field Style Scope HTML Element
* IDEMPIERE-5482 - implemented in report engine, removed the new field
* IDEMPIERE-5482 - add IsWrapWithSpan to AD_Style
* IDEMPIERE-5482 - pr1572 patch
* IDEMPIERE-5567 Support of UUID for Search (UU) data type (FHCA-4195)
* - Search editor now assigns the value correctly when selecting from Info Window
- Info Window shows correctly the first UU key column
- Added Record UUID new data type to work with record ID editor but with UU column
- Added column/field Test.Record_UU for testing
* - Fix opening Record ID editor after saved
* - Implement changes suggested by Heng Sin's peer review
* - Remove other unnecessary changes
* - safer comparison
* IDEMPIERE-5650 - Cannot Define Multiple Values for Dashboard Content Process Parameters
* IDEMPIERE-5650 - remove hardcoded condition
* IDEMPIERE-5650 - fix for reference list multiselection
- support for non-ID multiselection types (values were not rendered e.g. with DocType="IP,CO")
* IDEMPIERE-5650 - fix for reference list multiselection
* IDEMPIERE-5650 - bug fixes
- error use case: reference list with numeric values e.g. "10", "20",... (fix: check DisplayType instead of data type)
- error use case 2: defining more than one multi-selection caused parsing error (fixed parsing logic in MDashboardContent)
* IDEMPIERE-5650 - optimise parsing method
* IDEMPIERE-5650 - pr1757_PR0 patch
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195) - Foreign Keys
* - Table Direct working as read-only and link column
* - Fixes for Table with Reference
* - Add UUID FK management to Migrate ID process
- Add MColumn.beforeSave validation to force UUID columns to end with _UU
- Add table TestUUDet with two foreign keys pointing to TestUU (TableDir and Search)
- Add detail tab to Test UU Based Table window
- Add a new test window named Test UU Detail
- Generate model classes for the new test table
- Add test case for the detail test table
- Add MTable.isIDKeyTable method
- Add UU foreign key cross tenant validation to PO.validForeignKeys
* - Added a Chosen Multiple Selection Table with foreign UU for testing
- Changed reference in dictionary logic and sql to reflect new data types
- Disable SearchUU temporarily (will be worked in next step)
- Add validation to avoid encrypting UUID columns
- Avoid warning when searching for getPO method on UUID based tables
- Make Zoom Across button work with UUID foreign keys
- Enable zoom and zoom to detail for UUID foreign keys
- Enable Find Advanced on detail foreign UUID keys
* - Fix javadoc
- Quote properly UUID
- Validate null on return
* - Fix zoom logic - tested zooming to tab in first second and third level
* IDEMPIERE-5659 - New Document Base Type Group Window
* IDEMPIERE-5659 - fixes
- renaming the table, model and elements according to the ticket
- removing MDocBaseGroup beforeSave validation
- adding an unique index for the Line table
* IDEMPIERE-5644 : Allow to set an image per form
https://idempiere.atlassian.net/browse/IDEMPIERE-5644
* IDEMPIERE-5644 : Allow to set an image per form - fix suggested by hengsin
Co-Authored-By: hengsin <152246+hengsin@users.noreply.github.com>
---------
Co-authored-by: hengsin <152246+hengsin@users.noreply.github.com>
* IDEMPIERE-5637 - Improved GridField and GridFieldVO to allow setting default value programmatically
* IDEMPIERE-5637 - Minor refactor to improve code readibility
* IDEMPIERE-5637 - Defined constants for priority default order
* IDEMPIERE-5567 Support of UUID as Key (FHCA-4195)
* - Implement changes to support Model classes with UUID constructor
* - fix issue with tables with single parent key - like AD_Ref_Table
* - Create test table and JUnit test
* - fixes from Heng Sin
* - Improve performance on new methods in MTable
- Minor refinements in ModelClassGenerator
- Regenerate Test X classes
- Change Create Window from Table to receive the parent link as parameter (because tables can have now no keys at all)
* - Implement suggestions from Heng Sin
* - _UU column as primary key constraint for UUID based tables
---------
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-5608: Improve server logs by tenant and user data
* IDEMPIERE-5608: Improve server logs by tenant and user data - migration script
* IDEMPIERE-5680: Improve server logs by tenant and user data - use VM argument
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-5608: Improve server logs by tenant and user data: various fixes
* IDEMPIERE-5608: Improve server logs by tenant and user data - revert changes on server.product.launch
* IDEMPIERE-5608: Improve server logs by tenant and user data - Carlos's patch
tested: )
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
---------
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-5565 Cannot create report with virtual column where reference is table with display column = ID
* - make it consistent with the actual approach
* IDEMPIERE-5538 - Add isValid to Drill Rule allow validate parameters with beforesave
* IDEMPIERE-5538 - beforeSave, capture process parameters
* IDEMPIERE-5538 - validate only through process
* IDEMPIERE-5538 - isValid check in getByTable method
* IDEMPIERE-5538 - add validation to before save/after delete
* IDEMPIERE-5538 - validate system drill rules
* IDEMPIERE-5538 - fix validation logic
The mandatory validation have to skip the key parameter since it is not loaded from Drill Rule Para.
* IDEMPIERE-5538 - fix Drill Rule window definition
* IDEMPIERE-5538 - bug fix scripts to iD10
* IDEMPIERE-5538 - fix missing read only logic
* IDEMPIERE-5538 - all scripts to iD10
* IDEMPIERE-5621 - Dashboard Report ignore if parameter is mandatory or not
* IDEMPIERE-5621 - small fixes
* IDEMPIERE-5621 - missing javadoc for new methods
* IDEMPIERE-5621 - move scripts, list empty para, update css
* IDEMPIERE-5611 Record ID Editor doesn't work with House Keeping
- Fix zoom window on tables that have this field empty and have a window associated
* - Fix zoom and lookup without AD_Window_ID update
* - Add discovery for more tab levels
* - Fix zoom when AD_Table.AD_Window_ID is null.
* - use the new method also in InfoGeneralPanel
* - set zoom window just when is not defined (preserve potential customizations)
---------
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-5616 Reverse Shipments don't post because of Not Balanced in special case
* - Add case for Inventory Move
- Add explanatory comment
* - Add extra cases for other documents
* - uploaded a different approach
---------
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-5613 Make filling of _UU column optional
* - clear _UU when column is made inactive
* - Add parameter IsClearUUID
- Fix issue with buffer log not being flushed
* IDEMPIERE-5618 - Print Format Script Column does not show Data in correct Data Types
* IDEMPIERE-5618 - optimised and simplified the code
- get PrintFormatType from PrintDataColumn pdc
- getDisplayType(value) method to unify and simplify getting the display type
- Fix problem with the AbstractXLSXExporter going wild, the method getFormatString is trying to create a format with the number of digits supported by the NumberFormat, and as the MaximumIntegerDigits is not set, is trying to create a String with the default which is 2147483647
* IDEMPIERE-5594 : On detail panel grid, button not respect context parsing for DispalyLogic, DefaultValue, MandatoryLogic. take context of previous row.
* IDEMPIERE-5594: Refactored code by Hengsin
Co-authored-by: hengsin@gmail.com
* IDEMPIERE-5600 Add Core.getDefaultAnnotationBasedEventManager() API
* IDEMPIERE-5600 Add Core.getDefaultAnnotationBasedEventManager() API
- minor refinement
* IDEMPIERE-5595: Allow to deactivate negate option for "Chosen Multiple Selection" components in processes
https://idempiere.atlassian.net/browse/IDEMPIERE-5595
* IDEMPIERE-5595: regenerate serial
* IDEMPIERE-5595: move scripts to iD10 / resolve conflict
* IDEMPIERE-5595: change position of the field / update existing data
* IDEMPIERE-5595: check ProcedureName is empty before enabling it
* IDEMPIERE-5595: update existing records missing in oracle
* Update 202303020910_IDEMPIERE-5595.sql
* Update 202303020910_IDEMPIERE-5595.sql
---------
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-5238 - initial draft commit
* IDEMPIERE-5238 - fixes
* IDEMPIERE-5238 - popup window
* IDEMPIERE-5238 - renaming to Record ID
* IDEMPIERE-5238 - renaming to Record ID
* IDEMPIERE-5238 - fixes
* IDEMPIERE-5238 - fixes
* IDEMPIERE-5238 - fixes
* IDEMPIERE-5238 - technical fixes
* IDEMPIERE-5238 - pr1610_1 patch
* IDEMPIERE-5238 - bug fixes
* IDEMPIERE-5238 - set table to read only
* IDEMPIERE-5238 - fix parsing error
* IDEMPIERE-5238 - pr1610 patch
* IDEMPIERE-5238 - fix Find Window issue
* IDEMPIERE-5238 - Info Panel NPE patch
* IDEMPIERE-5238 - UI fix
In the Record ID Dialog the 'Record' label should be visible only when the corresponding editor is visible.
* IDEMPIERE-5238 - find window patch
* IDEMPIERE-5238 - clear Record ID when clearing AD_Table_ID
* IDEMPIERE-5238 - clear Record ID when clearing AD_Table_ID
* IDEMPIERE-5238 - move scripts to correct folder
All scripts to iD10
* IDEMPIERE-5586 Implement ID independent migration script
* IDEMPIERE-5586 Implement ID independent migration script
- add Oracle script (99% converted by ChatGPT from PostgreSQL :)).
* IDEMPIERE-5586 Implement ID independent migration script
- handle official id value for foreign key reference .
- add back centralized id support.
* IDEMPIERE-5586 Implement ID independent migration script
- minor refactoring
- add support for AD_Table_ID+Record_ID usage
* IDEMPIERE-5586 Implement ID independent migration script
- add support for Delete
- add unit test
* IDEMPIERE-5586 Implement ID independent migration script
- add insert_accounting and insert_tree support.
* IDEMPIERE-5586 Implement ID independent migration script
- add ADSortTab support.
* IDEMPIERE-5586 Implement ID independent migration script
- move migration script from iD11 to iD10.
* IDEMPIERE-5563 - Font Icons not implemented on HTML Report column menu
* IDEMPIERE-5563 - Font Icons not implemented on HTML Report column menu
* IDEMPIERE-5563 - pr1689 patch
* IDEMPIERE-5578 Data corruption when copying order lines from a closed order
* - refactor MOrderLine.getDescriptionStrippingCloseTag for optimization
* - regenerate serialVersionUID
* # IDEMPIERE-5458 - Timezone defined by Organization
* # IDEMPIERE-5468 - improved unit test
* # IDEMPIERE-5458 - removing user/password from scriptg
* IDEMPIERE-5458 - fix migration script
* IDEMPIERE-5458 - adding field in org info tab
* IDEMPIERE-5548 Issues with Log Management
- removed the button Reload Log Props from the About Dialog as is now being reloaded when changing level
* - set level also on handlers
- restore the button Reload Log Props
* IDEMPIERE-5534 Make configurable the maximum records in lists
* - Impose hardcoded limit of 50.000 as suggested by Heng Sin
* - SysConfig name MAX_ROWS_IN_TABLE_COMBOLIST
* - change message
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
- refinement and added unit tests
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
- add unit test for lot level costing
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
- fix unit test error.
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
- add unit test for cost adjustment
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
- add unit test for physical inventory
* IDEMPIERE-5503 Product Costs > Cost Movement > Field AMOUNT has inconsistent +/- signs
- add unit test for PO landed cost
* IDEMPIERE-5505 : Add Value and PrintName on GL_Category
https://idempiere.atlassian.net/browse/IDEMPIERE-5505
* IDEMPIERE-5505 : Add Value and PrintName on GL_Category - Value is mandatory
* IDEMPIERE-5505 : Add Value and PrintName on GL_Category - set Value to 60 chars
* IDEMPIERE-5505: Add Value and PrintName on GL_Category - add Index on Value
* IDEMPIERE-5505 : Add Value and PrintName on GL_Category - Missing AD_Sequence for Value column
integrate patch from @CarlosRuiz-globalqss
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-5408 Allow or enforce login with specific tenant (FHCA-3823)
Show MFA for support users in System, even if they have roles in several tenants, they can just have MFA defined in System tenant
* IDEMPIERE-5408 Allow or enforce login with specific tenant (FHCA-3823)
- Change of approach, the MFA can be shown first when the client is defined, or when the user is defined to belong to a single tenant
- on the contrary, when we have same user/password in two tenants, the MFA must be delayed until the tenant is identified
- Reviewing this noticed that the Login locking/inactivity logic is working on the full users array, even if the user has a different password (so is a different user)
Fixed this to work just on the authenticated users - this is, those that have the same password in different tenants
* IDEMPIERE-5483 - Physical Inventory Doesn't Update Last Inventory Date on Specific Cases
* IDEMPIERE-5483 - requested changes
* IDEMPIERE-5483 - fixes
* IDEMPIERE-5483 - fixed fallen test case
* IDEMPIERE-3334: Adding support for Readonly Logic, Set Pressed Logic on custom toolbar button
* IDEMPIERE-3334: Fix as per Hengsin suggestion
* IDEMPIERE-3334: Renaming migration scripts, changing VARCHAR2(2000) to VARCHAR2(2000 CHAR) and fixing sql have line starting with @
* IDEMPIERE-3334: SQL Logic evaluate by using Evaluator.parseSQLLogic()
* IDEMPIERE-3334 : Adding support for pressed and readonly logic on Window->Tab->toolbar
* IDEMPIERE-3334 : Adding Hengsin't patch
* IDEMPIERE-3334 : removing ParseContext call
* IDEMPIERE-2398 Renamed FA_ProjectCreateAsset to "Create Asset from Project" and added/fixed broken parameters
* IDEMPIERE-2398 - improve error message of process
* - set asset value from project committed amount
* - set asset value back from project balance amount
- make the project balance amount editable
- add link to the asset addition at the end of the process
Co-authored-by: Chuck Boecking <chuck@chuboe.com>
* IDEMPIERE-5471 Refactoring of Payment Selection and Payment Print/Export form
* IDEMPIERE-5471 Refactoring of Payment Selection and Payment Print/Export form
- merge patch from Carlos
* IDEMPIERE-5463 Help on Role Panel selection page
- SysConfig LOGIN_SELECTION_HELP_URL defaulting to https://wiki.idempiere.org/{lang}/Login_Selection_Help
- added WebUtil.isUrlOk
- verify if the login and selection help page exists before opening, otherwise default to english version
* - rename SysConfig LOGIN_SELECTION_HELP_URL to LOGIN_SELECT_ROLE_HELP_URL
* - fix wrong SysConfig name
* IDEMPIERE-5057 Implement Deductible and non deductible input tax for purchasing and costing
- Fix error when user change invoice/order line to use parent tax
* IDEMPIERE-5057 Implement Deductible and non deductible input tax for purchasing and costing
- Miss MRMATax in previous commit.
* IDEMPIERE-5057 Implement Deductible and non deductible input tax for purchasing and costing
- Fixed order/invoice tax lines not created after save
* When user login with EMail MFA the MFA panel is not shown and the Processing message just keep spinning
* Changed the message TenantNotFound by FailedLogin to avoid a brute force attack to discover which tenants are valid in the installation
* IDEMPIERE-5451 Create a form SQL Query - similar to SQL process to execute queries (FHCA-3849)
* - fix wrong default in SysConfig
* - remove unnecessary annotation
* - process the query in a read-only transaction
* - commit not needed since this is readonly
* IDEMPIERE-5450 Form SQL Process has security issues
* - fix javadoc
* - remove unnecessary code
* - minor improvement
* - improve discovery of single word commands
- avoids the need of space in the SysConfig key
* IDEMPIERE-5349: Adding AlwaysUpdatableLogic on Column and Field.
* IDEMPIERE-5349: Making Always Updatable logic to work when isAlwaysUpdatable is false and iAlwaysUpdatable made higher priority
* IDEMPIERE-5349: fixing error SP2-0027 in oracle
* IDEMPIERE-5349 : Fixing AlwaysUpdatableLogic not set when isAlwaysUpdatableLogic is null
* IDEMPIERE-5349 : renaming migration script and updatong AD_Field_V and AD_Field_VT
* IDEMPIERE-5408 Allow or enforce login with specific tenant (FHCA-3823)
- Add column AD_Client.LoginPrefix
* - Implement logic to manage login prefix
- Add SysConfig keys LOGIN_PREFIX_SEPARATOR and LOGIN_WITH_TENANT_PREFIX
* - Rename methods as suggested by Heng Sin
* IDEMPIERE-5408 Allow or enforce login with specific tenant (FHCA-3823)
For security reasons is better to ask for MFA before showing additional information from the user.
Refactoring the panels to show the MFA panel as soon as the tenant is defined.
* - Add uniqueness validations on tenant creation
* - Fix the Forgot My Password functionality
* - Fix the Change Expired Password functionality
* - minor javadoc improvement
- remove a redundant comment, the method is already mark as deprecated
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-5354 Manage use case for microsoft OAuth2 preferred_username (FHCA-3757)
* IDEMPIERE-5354 Manage use case for microsoft OAuth2 preferred_username (FHCA-3757)
* Replaced PostgreSQL and Oracle connection pools with HikariCP.
Replaced C3P0 with HikariCP. HikariCP is a Apache licensed connection pool with substantially better performance and better resilience to failure (DB disconnects, etc.) then C3P0. Read more about it here: https://github.com/brettwooldridge/HikariCP .
Cleaned up the `getCachedConnection` method. With HikariCP there is no need to retry to obtain a connection since getting an connection will block until a free connection is available or until a timeout is reached (default 30 seconds) at which point an `SQLException` is thrown. This also removed calling `Runtime.getRuntime().runFinalization();`. HikariCP is currently configured to detect / log leaks when a connection hasn't returned to the pool for longer then 5 minutes.
Loading of pool config properties was cleaned up. Defaults are now loaded from a single file instead of defaults coming from both file and hardcoded properties. It is now also possible to specify any HikariCP property in the user pool property file.
Initialization of the datasource must happen in the `getDataSource()` method because at object construction not all JDBC config is known. However this method could (as far as I could tell) be called concurrently from multiple threads but had no mechanism to prevent initializing the DB pool multiple times. The variable in which the pool itself was stored (`m_ds`) also was not marked volatile or immutable which could lead to visibility issues. Instead of lazy initialization of the pool in the `getDataSource()` method the pool could probably better be initialized at object construction. However I wasn't able to achieve that without breakage therefor I made the initialization mechanism work correctly with concurrent invocations.
Various config options such as the `MaxStatementsPerConnection` options were removed because HikariCP doesn't support them.
* (Re)added Sequence time-out.
* IDEMPIERE-5326: Parsing error for report view if where clause and virtual column used in print format
* IDEMPIERE-5326: Fixing Compilation error
* IDEMPIERE-5326: Adding method back for backward compitability
* IDEMPIERE-5326: Adding constructors for backward compitability
Removed the method MRole.loadTableInfo which loaded the arrays: m_tableAccessLevel, m_tableName, m_viewName, m_tableIdName
and replaced all usage with visits to cached information from tables or columns
* IDEMPIERE-5376 CConnection and DB clean up
* IDEMPIERE-5376 CConnection and DB clean up
- More clean up
* IDEMPIERE-5376 CConnection and DB clean up
- Fix @Deprecated annotation
* IDEMPIERE-5393 - Allow rendering status line as widget/gadget in dashboard
* IDEMPIERE-5393 - css class for status line
* IDEMPIERE-5393 - update default theme version
* IDEMPIERE-5367 Logic expression IN doesn't works with quoted text
* IDEMPIERE-5367 Logic expression IN doesn't works with quoted text
- Fixed equal not working for quoted text with comma (e.g 'A,R,S')
* IDEMPIERE-5359 Unit test not working with Oracle
- Fix local trx not rollback for SQLException
- Add test for getSQLValueObjectsEx and getSQLArrayObjectsEx