* IDEMPIERE-4498 Performance: add cache for osgi services factory
add cache for tableName -> IModelFactory
* IDEMPIERE-4498 Performance: add cache for osgi services factory
implement cache for the discovery of osgi services
* IDEMPIERE-4498 Performance: add cache for osgi services factory
added unit test
* IDEMPIERE-4058 - tab editor: new options for editing and customizing fields (window customization)
* IDEMPIERE-4058 tab editor: new options for editing and customizing fields (window customization)
Fix issues with migration scripts
Co-authored-by: muriloht <muriloht@devcoffee.com.br>
* IDempiere-2999: on Attribute adding all reference type support except path, images.
* IDEMPIERE-2999 : Removing isQuickForm reference from migration script and fixing url issue.
* IDEMPIERE-4495 github code scanning alerts
Failure to use secure cookies
* Failure to use secure cookies - one more
* Fix: Arbitrary file write during archive extraction ("Zip Slip")
* Fix: Resolving XML external entity in user-controlled data
* IDEMPIERE-4482 Mobile Improvements
* IDEMPIERE-4482 Mobile Improvements
minor line height fix for process dialog's message area
* IDEMPIERE-4482 Mobile Improvements
- fix issue with grid view column header height
- add customize grid view button to detail pane
- always show message as notifications for mobile
- fix some mobile layout issues
- default desktop font size to 14px
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
add support to make PO immutable
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
- added thread safe Immutable and Copy cache implementation for PO.
- migrate most of PO cache to immutable and copy cache.
- added pos sales order test.
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
- add test case for initial client setup and bank statement
- fix error for image editor, location editor, locator editor, initial
client setup, complete bank statement and migrate storage provider.
* IDEMPIERE-4287 Cache API not thread safe and inconsistent with Context
- added ImmutablePOSupport interface. Model class implement this
interface for immutable PO support.
- remove usage of cache for transaction table (rfq, invoice, inventory).
- add getCopy method to some model class to support getting an
updateable copy of PO from the otherwise immutable PO cache.
- the added getCopy method is use to return updateable PO for indirect
PO reference, for e.g MColumn.getAD_Table() and MOrderLine.getProduct.
* IDEMPIERE-4460 : User suggestions for field/context help : check permission
new method to check exclusion of a table for current role, used to determine if popups should be displayed or not
* IDEMPIERE-4460 : User suggestions for field/context help : check permission
Following @globalqss's recommandations : rename the method + add more controls inside
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4361:Date is subtracted by 1 day in certain cases
sun.util.calendar.ZoneInfo consider offset and "daylight saving time" changed on range 1900-2037
for out of that range then offset always return raw offset, make date incorrect 1 day on some days
offset change by history can reference at:
https://en.wikipedia.org/wiki/Time_in_Vietnam#Time_in_French_Indochinahttps://www.timeanddate.com/time/zone/vietnam/hanoi
database for all change
https://www.iana.org/time-zones
* IDEMPIERE-4361:Date is subtracted by 1 day in certain cases (wrong at client side)
when value set from server by DateBox.setValue(Date) it convert that time (without respect history change when out of range 1900 until 2037) to UTC but at client it respect history change when convert to display timezoen so make mismatch
* IDEMPIERE-4361:Date is subtracted by 1 day in certain cases (for datetimebox)
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4424 Concurrent update not prevented in Grid View
Grid View - change click navigation to follow the same flow as toolbar
navigation.
* IDEMPIERE-4424 Concurrent update not prevented in Grid View
GridTable - added Updated and Processed concurrency checked against PO.
* IDEMPIERE-4424 Concurrent update not prevented in Grid View
Incorporate fix suggested by Carlos
* IDEMPIERE-4386 setAD_User_ID() breaks when logged in as System user
Allow saving Tab Customization for System user
* IDEMPIERE-4386 setAD_User_ID() breaks when logged in as System user
Fix copy/paste error
* IDEMPIERE-4386 setAD_User_ID() breaks when logged in as System user
Implement same suggestion on all the classes where setAD_User_ID must be allowed to explicitly set to System
There were already two classes with the Override approach: MUserPreference and MUserRoles, so this commit is to apply the same approach to all the classes with same approach
* IDEMPIERE-4322 Sort tab does not support virtual column identifier and identifiers with different data type
add support for virtual column identifier
concat multiple identifier instead of taking the first not null value
* IDEMPIERE-4322 Sort tab does not support virtual column identifier and identifiers with different data type
Change to use DB.TO_CHAR.
Other condition (parent, key etc) shouldn't exclude IsIdentifier since
the UI allows it.
* IDEMPIERE-4374 CSS Field Style not working for WSearchEditor
fix css field style not working for WSearchEditor
* IDEMPIERE-4374 CSS Field Style not working for WSearchEditor
fix css
* IDEMPIERE-4372 Performance: only add log record and sql statement to context if trace/debug level <= debug/info
Minor clean up and thread safe fix for CLogErrorBuffer and MIssue
Only add LogRecord and SQL to context if TraceLevel is <= INFO
* IDEMPIERE-4372 Performance: only add log record and sql statement to context if trace/debug level <= debug/info
add back DB.isConnected check
remove redundant CLogErrorBuffer call from DB.isConnected
more fine grained synchronization
* IDEMPIERE-4329 Cleanup eclipse warnings
Clean unused imports
* IDEMPIERE-4329 Cleanup eclipse warnings
Clean some additional warnings
Make org.adempiere.base to respect the Warnings/Errors level configuration from workspace
* IDEMPIERE-4329 Cleanup eclipse warnings
One more unused import caused by the previous commit
Revert SC_NO_Content for error bad to SC_BAD_REQUEST so that the failure
count at client side will work.
Add session timeout/notfound checking at client side.
* IDEMPIERE-1540 Autocomplete for field type "Search"
Implement auto complete for search field
* IDEMPIERE-1540 Autocomplete for field type "Search"
Add support for isAutoComplete flag (default is off).
Add isAutoComplete to AD_UserDef_Field, AD_InfoColumn and
AD_Process_Para.
Performance improvement - reduce number of queries for autocomplete and
added some cache.
* IDEMPIERE-1540 Autocomplete for field type "Search"
add constant for auto complete query timeout
use union all to further reduce the number of queries
* IDEMPIERE-4304 Saved Query duplicates if use to save after sharing
* IDEMPIERE-4304 Saved Query duplicates if use to save after sharing - Replaced JDBC call for Query
* IDEMPIERE-4298: remove Bundle-RequiredExecutionEnvironment
when build by tycho value of Bundle-RequiredExecutionEnvironment and jdt need to compatibility
in case we use Bundle-RequiredExecutionEnvironment = 11 then can't build by jdk != 11
so stick on fix value isn't good
eclipse now also support Require-Capability, so don't need Bundle-RequiredExecutionEnvironment anymore
* IDEMPIERE-4298:support update jdk (jdk 12 13 14)
default environment still jdk-11 but you can build for any jdk by below command
export JAVA_HOME=path to jdk
mvn verify -Djdk.version=11
in case on JAVA_HOME is jdk 14 then can set jdk.version for 11, 12, 13, 14 and same for other jdk
at moment java 14 just support on eclipse 2020-03 with install plugin
Java 14 Support for Eclipse 2020-03 (4.15)
* IDEMPIERE-1035 hard to find exceptions when using restrictive rights - Improve not access to workflow message
* IDEMPIERE-1035 hard to find exceptions when using restrictive rights - Improve not access to workflow message
Simplify Serverpush Code - remove retries and warning that just slow down
things and doesn't really help.
Change Role - With session invalidated and all components removed, there
isn't need to destroy desktop.
Peer review and tests:
* PO -> implement postDelete method to be called after the database delete is committed - fix issue about file being deleted from filesystem and commit failing because of referential integrity (for example deleting an image that is associated to a user)
* MArchive, MAttachment, MImage -> change deletion of file from before/afterDelete to postDelete
* MImage -> change getImageStoragePath from clientID/orgID to AD_Image/clientID (this is to allow using the same storage that attachments and archives uses, and avoid issues when changing org)
* MBPartner, MUser, MPOSKey -> delete associated image with postDelete
* ArchiveFileSystem -> fix issue not deleting the file in the filesystem when deleting the archive (using get_ID() on a deleted record returns zero)
* WImageEditor -> save automatically when creating a new image
* AttachmentFileSystem -> avoid trying to save attachment after is deleted
* ImageDBStorageImpl, MSysConfig -> Implement SysConfig IMAGE_DB_STORAGE_SAVE_AS_ZIP to save images in DB zipped - defaults to false which is the actual behavior
* ImageFileStorageImpl -> do not save file with extension, to fix error where previous file was not deleted when uploading a new file with different extension
* Complete ticket - implement support for XLSX in scheduler, background jobs, jasper reporting, default types
* Synchronize xlsx with xls exporter to use ZK_FOOTER_SERVER_MSG and ZK_FOOTER_SERVER_DATETIME_FORMAT SysConfig
* Excel alerts now export to xlsx instead of xls