* 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-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-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
* IDEMPIERE-5443 - Date Range Filter Component
* IDEMPIERE-5443 - fix migration script filename
* IDEMPIERE-5443 - new reference type Date Range Picker for process
* IDEMPIERE-5443 - remove Date Range Editor
* IDEMPIERE-5443 - pr1526 patch
* IDEMPIERE-5443 - fixes
* IDEMPIERE-5443 - nix NPE, add Locale
* IDEMPIERE-5455 Use Multi-Select parameters in Info Windows
* - fixed display for bp column
* - add more info windows
Co-authored-by: hengsin <hengsin@gmail.com>
* 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>
* 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-5393 - Allow rendering status line as widget/gadget in dashboard
* IDEMPIERE-5393 - css class for status line
* IDEMPIERE-5393 - update default theme version