* 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>