* IDEMPIERE-5005 - Chat window broken
Fix event processing on chat window
* IDEMPIERE-5005 - Chat window broken
Removed confirm panel as it servers no other purpose than closing the
window.
* IDEMPIERE-4863-1 Enable save column width in WListBox
This PR is the base for implementing save of column width of a wlistbox in forms and windows.
* IDEMPIERE-4863-1 Enable save column width in WListBox implementation example
This commit is showing examples implementation of this PR, it is for infoProductWindow and infoWindow
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window / also in new Attachment button
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window / change approach to constructor
* IDEMPIERE-4992 email from archive dialog
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info
Use customized image from tenant level when opening the panel
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info - fix migration scripts name
* IDEMPIERE-4961 Minor performance enhancement for AD Window
* IDEMPIERE-4961 Minor performance enhancement for AD Window
Fix potential mtab not found issue with 2pack import.
* IDEMPIERE-4960 Performance improvement for the opening of info window
* IDEMPIERE-4960 Performance improvement for the opening of info window
Query.scroll and Query.list basically offer the same db performance, the
previous change is unnecessary.
* IDEMPIERE-4959 Performance improvement for the opening of form window
* IDEMPIERE-4959 Performance improvement for the opening of form window
minor cache name change.
* IDEMPIERE-4958 Performance improvement for the opening of process dialog
* IDEMPIERE-4958 Performance improvement for the opening of process dialog
Query.scroll and Query.list has similar db performance, the previous
change is not needed.
* IDEMPIERE-4937 Refreshing the GridTab after moving a node in the Tree
* IDEMPIERE-4937 Refreshing the GridTab after moving a node in the Tree
Use Trx object instead of context for event changes indicator.
* IDEMPIERE-4470 Window Advanced Search - New operator types: AND Not, Or Not
Based on pull request 170
Co-authored-by: Igor Pojzl <igor.pojzl@cloudempiere.com>
* IDEMPIERE-4470 Window Advanced Search - New operator types: AND Not, Or Not
Rename migration scripts as suggested by Heng Sin
* IDEMPIERE-4927 Header mobile not showing menu and searchbox when username is too long
* IDEMPIERE-4927 Header mobile not showing menu and searchbox when username is too long / peer review
Co-authored-by: a_lara <alara@ghintech.com>
* IDEMPIERE-2853: Support for IADTabPanel as factory to add custom Tab types
sh: q: command not found
* IDEMPIERE-2853: adding requested Java doc, fixing seq mismatch in oracle and postgresql, Using Interface method instead of manual isSortTab check,
* IDEMPIERE-2853: Adding default implementation for isEnableCustomizeButton in IADTabpanel
* IDEMPIERE-2853: renaming reference label and Added support for allowing implementor to update toolbar state.
* IDEMPIERE-2853: Fixing compilation issue due to merging to master branch
* Using PO update for all node that's being updated
* Using saveEx(trxName) when saving PO for all updated nodes
* Checking PO.is_Changed() and using saveEx(trxName) when saving PO for all updated nodes
* IDEMPIERE-4410 Review Shortcuts (probably ESC) for all popovers, modals, dialogs
add esc shortcut for customize grid view, attachment, csv import loader,
export, file import loader, chat and post it dialogs.
* IDEMPIERE-4410 Review Shortcuts (probably ESC) for all popovers, modals, dialogs
- add esc handling to more dialog and popup.
* IDEMPIERE-4410 Review Shortcuts (probably ESC) for all popovers, modals, dialogs
- add esc shortcut to process modal dialog.
* IDEMPIERE-4410 Review Shortcuts (probably ESC) for all popovers, modals, dialogs
- Fix esc handling for numberbox, image dialog, email dialog, media
dialog and cloud upload dialog.
* IDEMPIERE-1994 Ability to organise process and report parameters by Field Group functionality
* IDEMPIERE-1994 Ability to organise process and report parameters by Field Group functionality
Fix collapsed by default not working.
* IDEMPIERE-4858 : CreateTable process
* IDEMPIERE-4858 : CreateTable process - fixes
Changes following Carlos's remarks - see details in the ticket
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - fixes migration scripts
See details in ticket
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - various fixes
fix migration scripts names / constants in uppercase / remove check of table length
* IDEMPIERE-4858 : CreateTable process - various fixes
default value for EntityType param / replace numeric name/value params by boolean ones / enhance creation of system element (name/print name/description)
see https://idempiere.atlassian.net/browse/IDEMPIERE-4858?focusedCommentId=47325
* IDEMPIERE-4858 : CreateTable process : optional columns
* IDEMPIERE-4858 : CreateTable process : remove wrong temporary migration scripts
* IDEMPIERE-4858 : CreateTable process :
add org.adempiere.base.process as required plugin (and not as imported package)
add missing content on migration scripts
* IDEMPIERE-4858 : CreateTable process : fixes / reordering / renaming
Failed creating Description column: ** Fill mandatory fields: : Length
Value and DocumentNo are not usually mandatory
Some minor reordering and renaming of variables
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process : can be used to add columns on existing table
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - fix default value for TableName parameter
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - restore default value for Description, Name and AccessLevel parameters
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4864 Fix shortcut handling for combobox and ad window
* IDEMPIERE-4864 Fix shortcut handling for combobox and ad window
- fix combobox keyboard navigation
- improve focus handling with mask
* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)
Implement suggestions from Heng Sin
* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)
Fix security warning advised by github/CodeQL
* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)
Implement an incremental delay in zk when the validation code is wrong (to avoid brute-force attacks)
As suggested by Ricardo Santana:
* ensures one-time only use of an OTP
* Log failures in AuthFailure.log
* IDEMPIERE-4782 Multi-factor authentication (FHCA-2034)
* Log failures in AuthFailure.log - add case for login with email
* Implement incremental delay also for login panel
* IDEMPIERE-4808 : Payment Allocation should be IsSOTrx neutral
* IDEMPIERE-4808 : forms can use IsSOTrx from AD_Menu
* IDEMPIERE-4808 : add IgnoreIsSOTrxInBPInfo to be used on BPartner InfoWindow
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4779 : Dashboard / Report : parameters are wrongly displayed
* IDEMPIERE-4779 : Dashboard / Report : parameters are wrongly displayed
Avoid usage of DisplayType.IsID
* IDEMPIERE-4779 : Dashboard / Report : parameters are wrongly displayed
AD_Reference_Value_ID can be used for search/table/tabledir
* IDEMPIERE-4779 : Dashboard / Report : parameters are wrongly displayed
Use MLookupInfo.QueryDirect to display value
* IDEMPIERE-4794 IQuickEntry OSGI Service
* Interface IQuickeEntry replaced with abstract class AbstractWQuickEntry,
Refactorings
* QuickEntry Service used in InfoWindow. Redundant method removed.
Co-authored-by: Andreas <sumerauer@kanzlei-wmv.de>
* COF #10327 IDEMPIERE-4773 - add form factory base class backed by map and lambda functional object
Remove unnecessary white space only changes and fix wrong component name
Co-authored-by: muriloht <muriloht@devcoffee.com.br>
Co-authored-by: matheus.marcelino <matheus.marcelino@devcoffee.com.br>
* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler
* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler
Fix initial output type selection for csv. Fix handling of binary vs
text media type.
* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler
- Change AD_AuthorizationAccount scope from single value to multiple
selection list (AD_AuthorizationScopes replace AD_AuthorizationScope)
* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler
Fix isIntersectCSV db function
* IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler
add back AD_AuthorizationScope Configured dynamic validation filter
* IDEMPIERE-4781 : Dashboard / Report : use @SQL= syntax
* IDEMPIERE-4781 : Dashboard / Report - be able to use Range parameters
* IDEMPIERE-4781 : Dashboard Content as Advanced
* Update DashboardController.java
Implement partial solution for IDEMPIERE-4779
Fix issue with Timestamp not working for IDEMPIERE-4781
it was throwing:
12:58:07.928-----------> DashboardController.render: Failed to create dashboard content [358]
java.lang.NumberFormatException: Error at index 6 in: "474671+02"
at java.base/java.lang.NumberFormatException.forCharSequence(NumberFormatException.java:81)
at java.base/java.lang.Integer.parseInt(Integer.java:735)
at java.sql/java.sql.Timestamp.valueOf(Timestamp.java:239)
at org.adempiere.webui.desktop.DashboardController.fillParameter(DashboardController.java:974)
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4769 False result in validation for pending changes
* * Fix also the case that changing detail is not decorating the window title with prefix *
* IDEMPIERE-4768 Cannot ship in some cases when multiple ASI with different material policy
* IDEMPIERE-4768 Cannot ship in some cases when multiple ASI with different material policy
* Fix wrong selection of material date policy, must take into account isUseGuaranteeDateForMPolicy
* Fix wrong material receipt, assigning material date policy based on inventory instead of document/ASI
* * Unit tests
* IDEMPIERE-4764 Hazelcast distributed cache can be an issue in some environments
- Change setting for all caches to be non-distributed
* IDEMPIERE-4764 Hazelcast distributed cache can be an issue in some environments
* TC-324 Fix cache related monitoring and performance issues
- PO & GridTable call to CacheMgt reset should be async.
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-4746 Wrong usage of MTable.getColumnIndex
* Implementing suggestion from Andreas Sumerauer
* Fix issue in IDEMPIERE-3916 (Move Client) and IDEMPIERE-1026 (Create Window from Table)
* IDEMPIERE-4746 Wrong usage of MTable.getColumnIndex
* Change approach to discover real columns
* * Rename method as suggested by Andreas Sumerauer
* IDEMPIERE-4708 Context from ProcessParameterPanel is not cleared when closing the window
* Revert "IDEMPIERE-4708 Context from ProcessParameterPanel is not cleared when closing the window"
This reverts commit 74d5d07bea748f6405bfb6988a01fab1f605f720.
* Implement suggestion from @hengsin
* IDEMPIERE-4692 Mandatory range parameters : "To" style not updated after being filled manually
* based on patch from Anozi Mada
* Add javadoc explaining new columnname notation in IProcessParameterListener
* Change BankTransferParameterListener to illustrate better usage of columnname - as example
* IDEMPIERE-3101 implement OAuth2 for mail (gmail, outlook and other mail system)
WIP - initial version working on zk with google apps mail using OAuth2 Authorization Code Flow and Client Type = web application
* Enable imap reading with OAuth2 in RequestEMailProcessor
* Simplify the code - tested plain and OAuth2 can use the same methods
* Add +SCOPE parameter to AddAuthorizationForm according to IDEMPIERE-4713
* Rename the form AddAuthorizationMailForm to AddAuthorizationForm as is now more generic
* IDEMPIERE-4713
* Rename migration scripts to make it newer than IDEMPIERE-4713
* Add list of scopes attended by a credential
* Change form to accept other scopes, if no scope parameter is passed, then a list is shown, change the menu to fix the EMail scope
* Add MAuthorizationAccount.refreshAndGetAccessToken
* Add translation for messages
* make call generic oauth, avoid using specific google API
* Tests with microsoft as OAuth2 provider
* Add record for microsoft as provider
* Increase size of tokens
* Define mandatory and secure columns
* Update refresh token when it comes on the refresh call
* Revoke endpoint is optional
* Change the approach to a process instead of a form (WIP)
* Implement servlet to process the OAuth2 code
* Solve context suggestion from hengsin
* Implement the form in an automatic popup approach for running on zkwebui
* i18n - add translations for all messages that are shown to user
* on the form opted for click to avoid the problem with browsers forbidding popups
* clean spaces and tabs on line endings
* avoid logging and copy of the secure columns
* Fix problem reported by @d-ruiz about hidden NPE when SMTP Authentication is disabled
* Add writing to AD_PInstance_Para and AD_PInstance_Log the results of processing the servlet
* Control to avoid using the same authorization URL twice
* IDEMPIERE-4488 Remove .classpath from repository
* IDEMPIERE-4488 Remove .classpath from repository
add ignore for .classpath
* IDEMPIERE-4488 Remove .classpath from repository
remove ".settings/org.eclipse.jdt.core.prefs"
* IDEMPIERE-4488 Remove .classpath from repository
fix false status report for /bin and .project
* IDEMPIERE-4722 Remove constraint that idempiere source folder must be used as Eclipse workspace
use project_loc of org.adempiere.base instead of workspace_loc
integrate additional fix from Carlos
* IDEMPIERE-4713 Allow definition of context variables to inject on menu and window definition
* * Implement prefix "+" as suggested by @hengsin
* Clear the variable
* * Fix scope of methods and fix interface as suggested by @hengsin
* * Implement changes suggested by @hengsin
* Add control for clicking on new button on Favourites and menu
Immediately treat jqxhr.status=0 as server not available doesn't work
well on firefox. With Firefox both stop of server and navigate away to
another site provide same jqxhr.onerror event and jqxhr.status of 0.
* Login Automatic Open Sequence -> buttons don't require names
* Login Automatic Open Sequence -> buttons look bad with non-font icons
* Clicking on + on an item of the favourites throws an NPE
* Implement same approach about checking for new button restricted on menu search, menu popup and quick entry popup
* IDEMPIERE-3340 : User favorite with tree structure
* IDEMPIERE-3340: Marking write operation to safe for cross tenant safe
* IDEMPIERE-3340: Fixing Cross tenant access issue
* IDEMPIERE-3340: refactoring as review comment, Fixing renaming folder issue, Auto launch window shows all items irrespective of access
* Sync with IDEMPIERE-4251
* Sync with IDEMPIERE-4251
* IDEMPIERE-3340: Refactoring as review comment for caching,
toolbar button restriction method with ID, tooltip messages, font base theme,
remove double click event, etc.
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4676 Browser hangs after restarting iDempiere or refreshing ui.zk, on macos sometimes during work
* IDEMPIERE-4678 Save log informing Notice created when background job
stop immediately when server is not reachable
* IDEMPIERE-4678 Save log informing Notice created when background job
* Added also a refactor for the INSERT INTO AD_PInstance_Log to use safer binding variables and add method saveEx
* - Implement suggestions from @hengsin
- Add some additional improvements
* IDEMPIERE-4662 Some problems of sort at window before save
* IDEMPIERE-4662 Some problems of sort at window before save
Fixed the sequence of edit field -> sort -> edit field will wrongly
trigger save automatically.
* IDEMPIERE-4657 Search Dialog Columns are duplicated when table is present in multiple window tabs.
* Improve query when different seqno (just check fields from first tab)
* IDEMPIERE-4653 Improve timeout handling of window tab
* Fixed a problem with IDEMPIERE-4130 that was not using role max query records
* GridTable was throwing NPEs because the arrays were disposed before closing
* Lowered log level on MRole to avoid clogging the console (I was testing with INFO level)
* Added more points of control for the timeout exception to give meaningful errors to the user and allow refining the query without closing the Find dialog
* Implemented a control to avoid repeating a slow initial query every time the dialog is open
* Added dialog when the find criteria doesn't return rows and allows the user to refine the query
* When the initial number of records is unknown, show a question mark instead of the count
* * Fix wrong role level pushed in first commit
* IDEMPIERE-4628 Implement configurable query timeout for info window
* IDEMPIERE-4628 Implement configurable query timeout for info window
Move migration script from i8.2z to i8.2
* IDEMPIERE-4647 : filter plugins using name
* Minor improvements
* Add translated message for Filter
* Use ON_CHANGE instead of ON_BLUR, allows to apply the filter with ENTER
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4251 Constant definition for all Env Context
replace "#Date" with Env.DATE
* IDEMPIERE-4251 Constant definition for all Env Context
replace "#.." with constant at Env
* IDEMPIERE-4251 Constant definition for all Env Context
Merge patch from Carlos
* IDEMPIERE-4485 Info Window Columns has no Value preference
* IDEMPIERE-4485 Fix Query Parameter SQLWhere build.
* IDEMPIERE-4485 Info Window Columns - shorter code.
* IDEMPIERE-4607 Cannot export windows via 2pack if any field has a Field Group
* IDEMPIERE-4607 Implement changes discussed in JIRA - Add a new isList method to DisplayType
* IDEMPIERE-4607 Fixed typo
* IDEMPIERE-4607 Implement default method to return false by default - PR CarlosRuiz
* IDEMPIERE-4584 : InfoProduct throws "Attempted to access nonexistent ListModelTable field at 2, -1" if no IsInstanceAttribute column
* IDEMPIERE-4584 : fix test of column index
Co-Authored-By: hengsin <152246+hengsin@users.noreply.github.com>
Co-authored-by: hengsin <152246+hengsin@users.noreply.github.com>
Problem when creating a preference with SuperUser in System, and then trying to save the same preference in GardenWorld (for example changing the height of a window)
IDEMPIERE-2003 Capturing wrong numbers with numeric keypad when decimal separator is not dot
- Restore and improve functionality that process dot keypad within the number fields (deleted by mistake in c954a055b2)
* IDEMPIERE-4421 Html asset versioning should allow fluent deployment
use classpath loading and lang-addon versioning for theme resources
* IDEMPIERE-4421 Html asset versioning should allow fluent deployment
Incorporate backward compatibility patch from Carlos.
- Deprecate zk form WTranslationDialog and controller TranslationController
- Move the logic to a java process org.idempiere.process.TranslationImpExp
- As a process works in mobile, can be called via webservices, tested with fitnesse, etc
- Importing leaves a better and readable log of each file processed
- Importing/Exporting gives feedback to the user about the file being processed
Side note:
- To standardize the menu - renamed the "Initial Client Setup Process" to "Initial Client Setup"
Improvements over the previous form:
- can process the files from the zip in root folder, or in internal folder with the name of the language
- can process a URL http/https to download the zip file
- fix the PO is immutable errors
- forbid that system nodes are changed by non-system users
- system nodes are shown in gray
- reorganize layout of system workflows in editor
- make the nodes smaller
- fix the layout problem of name and properties dialogs
* IDEMPIERE-4528 Update Js Library
Update html2canvas to 1.0.0.rc7
* IDEMPIERE-4528 Update Js Library
Use namespace/package and versioning for all js codes.
IDEMPIERE-2003 Capturing wrong numbers with numeric keypad when decimal separator is not dot
- Simplify the code for IDEMPIERE-4468 using Clients.evalJavaScript
- Fix IDEMPIERE-4468 to work in sync with IDEMPIERE-2003
- Improve IDEMPIERE-4468 to set the cursor at the end of the passed value
- Improve IDEMPIERE-2003 to insert the comma separator where the cursor is
- Simplify the code for IDEMPIERE-2003, there was a code calling setWidgetListener onKeyDown and doKeyPress_
Probably required for old browsers, tested without that code with actual chromium and firefox and both worked perfect
* IDEMPIERE-4514 Grid View Layout Bug
Fix layout issue after drag and drop of tab
* IDEMPIERE-4514 Grid View Layout Bug
Default wrapping of column header only for mobile and small width screen
(< 700px)
* IDEMPIERE-3921 DateTimeBox assigned Time format.
Use time pattern defined in language for time fields
* IDEMPIERE-3921 DateTimeBox assigned Time format.
Move setting format to constructor
* Revert "IDEMPIERE-3340 Fixes for oracle migration scripts (#346)"
This reverts commit db7b9db43c.
* Revert "IDEMPIERE-3340: Tree Structurable User Favorite (#334)"
This reverts commit 01d52fbfef.
* IDEMPIERE-4499 zk9.5 - Popup menu disappear quickly for buttons on the More area
* IDEMPIERE-4499 zk9.5 - Popup menu disappear quickly for buttons on the More area
remove unuse code.
* IDEMPIERE-4499 zk9.5 - Popup menu disappear quickly for buttons on the More area
add sysconfig record for ZK_TOOLBAR_SHOW_MORE_VERTICAL
* IDEMPIERE-2902 UX: Implement Radio buttons
Integrate contribution from TrekGlobal
TC-188 Port RadioGroup field editor from AP2-19
added "Radio Group List" field type
* IDEMPIERE-2902 UX: Implement Radio buttons
Peer review
* Configure correctly wrong Validation Rule
* Fix wrong DisplayLogic from this ticket and also from other recently added features on fields:
Attribute > Attribute > Reference Key
Attribute > Attribute > Dynamic Validation
Info Window > Column > Reference Key
Info Window > Column > Dynamic Validation
Registration Attributes > Attribute > Reference Key
Table and Column > Column > Dynamic Validation
Table and Column > Column > Dynamic Validation (Lookup)
Table and Column > Column > Reference Key
Web Service Security > Web Service Field Input > Reference Key
Window Customization > Field Customization > Reference Key
Window Customization > Field Customization > Dynamic Validation
Window Customization > Field Customization > Dynamic Validation (Lookup)
Window, Tab & Field > Field > Reference Key
Window, Tab & Field > Field > Dynamic Validation
Window, Tab & Field > Field > Dynamic Validation (Lookup)
* For testing and UX, configure as Radio Group:
Broadcast Message > Broadcast Message > Target
Field Group > Field group > Field Group Type
* IDEMPIERE-2902 UX: Implement Radio buttons
* For testing and UX, configure as Radio Group in detail tab:
Info Window > Process > LayoutType
* IDEMPIERE-2902 UX: Implement Radio buttons
- Fix radio group editor lost track of selectedItem after page detached
and attached
- Standardized the construction of editors from editor factory
- Remove unnecessary refresh for list/lookup based readonly editors
created by grid view (fixed editor is not readonly during init())
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4510 Add New to the toolbar search query combobox
* IDEMPIERE-4510 changed the if for a more defensive programming style
* IDEMPIERE-4510 Change placeholder text to Select Query to improve UX
* IDEMPIERE-4510 Modify migration scripts
* IDEMPIERE-4482 Mobile Improvements - Font
Change font to improve the L&F
* Move font-family to generic definition in theme.css.dsp
* Remove unnecessary font-family settings
* 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