* 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
* IDEMPIERE-4724
allow to concatenate parts at import
allow to prefix them which also is necessary to separate them when concatenating
allow to concatenate callouts and provide sort of parameters
* Update CalloutEngine.java
minor - typos in comments
* Update ImpFormatRow.java
is better to raise the exception when the callout cannot be found - the results can be unexpected for end users if the callouts are not called
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4911 Silent fail when translated column is shorter than original column (FHCA-2888)
Changes:
* Saving a value that doesn't fit in the translation now fails with a proper user understandable message
* Synchronize Doc Translation now fails with a user understandable message in case it fails because a value doesn't fit
* When updating a column on a translation table, check for the size of the original column and update the size accordingly
* When updating a translated column, show warnings to user about creating the table, or creating the column, or updating the column size
* IDEMPIERE-4911 Silent fail when translated column is shorter than original column (FHCA-2888)
Improve message for end user
* IDEMPIERE-4899 Report: print product instance attribute name and value as column
* IDEMPIERE-4899 Report: print product instance attribute name and value as column
- use parenthesis for display logic
- fixed display logic evaluation exception
- fixed index out of bound exception for xls and xlsx
* IDEMPIERE-4899 Report: print product instance attribute name and value as column
- Fix css for columns that have been shifted to the right
* IDEMPIERE-4894 OSGi Interface to support custom header and footer
* IDEMPIERE-4894 OSGi Interface to support custom header and footer
incorporate migration script fix from Carlos
* 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>
Fix regression (empty expression evaluation) introduce by previous
patch.
Pushing this through as the previous change set introduce a significant regression.
* IDEMPIERE-3101 implement OAuth2 for mail (gmail, outlook and other mail system)
Split processToken in two public methods to allow calling from external interfaces
* Add suggestion from druiz
* IDEMPIERE-3732 : MRefList.getList cannot allow to choose order by
* @nmicoud IDEMPIERE-3732 : MRefList.getList cannot allow to choose order by - ASP filter
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4828-posting of Allocation with a AR Credit Memos with discount, the tax-correction has the wrong sign
* IDEMPIERE-4828 - posting of Allocation with a AR Credit Memos with discount, the tax-correction has the wrong sign
check for DocBaseType
* IDEMPIERE-4578 generic DocAction
* IDEMPIERE-4578 generic DocAction
* IDEMPIERE-4578 generic DocAction
Refactor generic docaction implementation to a separate delegate class.
This should make it easier for any model class to implement the
DocAction interface using the DocActionDelegate class.
* IDEMPIERE-4578 generic DocAction
add generic type support
* IDEMPIERE-4578 generic DocAction
generic type should implements DocAction
* IDEMPIERE-4578 generic DocAction
Co-authored-by: hengsin <hengsin@gmail.com>
* IDEMPIERE-4853 Process to copy a Packout definition (FHCA-859)
* IDEMPIERE-4853 Process to copy a Packout definition (FHCA-859)
Do not copy inactive details (as suggested by hengsin)
* TableIndexValidate: include only active columns in table index
* simplified MTableIndex.getColumns()
* MTableIndex.createDDL() - restored space positioning
Co-authored-by: Andreas <sumerauer@kanzlei-wmv.de>
* fix for MProduction.createLines/( storage issue
* extended if clause to cover storage lines with the same AsiID
Co-authored-by: Andreas <sumerauer@kanzlei-wmv.de>
* 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
* Implement for Window, Process and Info Window Customization:
* Change to non-updateable the columns that have related children
* Change default to NULL in role, user and language
* Disable the autofilling of name, description and help
* 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-2377: Add "Prepare" Document Action to all document type
* IDEMPIERE-2377: Adding Prepare action on prepared docs and removeing redundent actions
Co-authored-by: carg67@gmail.com
* IDEMPIERE-4749 Allow to use OAuth2 libraries on plugins
- move oauth libraries and dependency to target platform
- require Tycho 2.3.0+ and Eclipse 2021-03+
* IDEMPIERE-4749 Allow to use OAuth2 libraries on plugins
Fix launch configuration.
* 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-4763 Add IsDefault to AD_StorageProvider and use it when creating a new tenant (FHCA-1165)
* Add column/field AD_StorageProvider.IsDefault
* Includes a minor refactoring of Login.loadDefault to add the ID column to the order by, to make predictable the ID returned when there are more than one record marked as default
* Context variable #AD_StorageProvider_ID is not created
* * Model class modified
* 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-4727 Movement Window: a new line can be created for a movement that is completed.
* IDEMPIERE-4727 Movement Window: a new line can be created for a movement that is completed.
Fix the problem also in model, to cover case when trying to add/modify lines for example via webservices
* IDEMPIERE-4727 Movement Window: a new line can be created for a movement that is completed.
Fix the problem also in model, change approach to use isProcessed instead of isComplete
* 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-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-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
* IDEMPIERE-4358 Rename table issue
Rename the table also in whereclause and orderbyclause in AD_Tab and AD_Ref_Table
* * Fix issue with Sequence reported by @d-ruiz
* Improve log messages
* * Improve reference message
* IDEMPIERE-4606: Adding support for generic method to get model using UUID
* IDEMPIERE-4606: Refactoring as per Hengsin's review comment.
* IDEMPIERE-4606: reverting issue in IMappedModelFactory.
* IDEMPIERE-4606: Fixing compilation errors
* IDEMPIERE-4606: Resetting ModelFactory Class to original, removed instance variable m_uuid and used to pass UU.
* IDEMPIERE-4606: Dropping constructor with UU argument from PO class.
* IDEMPIERE-4606: Refactoring as per Hengsin's feedback
* IDEMPIERE-4606: Correcting Java doc and updating serialized version.
* IDEMPIERE-4606: Fixing uuID passing
* IDEMPIERE-4606: Moving check for blank argument at top
* IDEMPIERE-4681 Can't use hidden column in display logic
* IDEMPIERE-4681 Can't use hidden column in display logic
handle @ColumnName:0@ and @ColumnName.xyz@
* IDEMPIERE-4694 Implement thread safe, annotation based osgi event handling
Make sure the component register in the event handler unit test cases
wouldn't have impact on other unit test cases.
* group1 and group2 also added to i_product
* Models generated for m_product and i_product, creating m_product from i_product extended with new fields.
* IDEMPIERE-4690 Add column callout factory base class backed by Map and Lambda functional object
Fix column callout factory cache.
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* 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-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-4673 PackOut fails to export attachments with File storage provider
* Implement similar solution for Image and Archive
* Simplify the nested ifs
Change approach for MAttachment as is not working for Data Single
* IDEMPIERE-4654 Sales Order After Receipt Delivery Rule is not working
create shipment if it is fully paid and stock is available
use currencyconvertpayment
- rename after receipt to after payment
- added unit test for invoice payment
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* 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-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-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-4616 : Lead : add IsVendorLead
* IDEMPIERE-4616 : Lead : add IsVendorLead
Fix description for Lead window
Add Display Logic for Opportunity parameters (now hidden if no opportunity)
Set BPartner.IsCustomer/IsVendor according to Lead.IsSales/VendorLead
* IDEMPIERE-4616 : Lead : add IsVendorLead
Move scripts from 8.2 to 8.2z
* IDEMPIERE-4632 Print Invoices is not translating the invoice if the report is a Jasper Report
* IDEMPIERE-4632 Print Invoices is not translating the invoice if the report is a Jasper Report
* IDEMPIERE-4626 Error message when opening FindWindow in Invoice(Customer)
add Payment displaytype to isList
* IDEMPIERE-4626 Error message when opening FindWindow in Invoice(Customer)
merge suggestion from Carlos
* backward compatible with the previous idempiere.properties and idempiereEnv.properties version
* when the setup/console-setup is executed again the secret keys are stored obfuscated in a different file .idpass
* Secret keys are ADEMPIERE_DB_PASSWORD, ADEMPIERE_DB_SYSTEM, ADEMPIERE_MAIL_PASSWORD
* to add more is just adding keys to array ConfigurationData.secretVars
* the previous (unobfuscated) approach is still preserved passing -DIDEMPIERE_SECURE_PROPERTIES=false to the JVM in setup and server
* the approach just run on Linux - as is implemented using shell script, windows is out of the initial scope, but could be possible to implement .bat files to do similar
* the default approach is to use getVar.sh and setVar.sh that writes in .idpass obfuscated
* is possible to extend and use custom secret managers implementing customSetVar.sh and customGetVar.sh
* samples for amazon AWS secretsmanager are included
* avoid the email sent on setup sending the secret keys
* enclose all variables in myEnvironment.sh within quotes (this avoids problems with variables containing spaces)
* add coreutils as required for debian installer (as we use base64 now to obfuscate passwords)
* swing client is not affected as it saves the idempiere.properties encrypted in user home folder
* 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-4581 Model generator should isn't dialog it should be window
use shutdown asyn to shutdown framework when close Model generator window
one unhappy thing remain:
when use -console then framework is shutdown but jdk still hang because "pipe-gosh --login --noshutdown" still live (for https://bugs.eclipse.org/bugs/show_bug.cgi?id=362412)
work-around: use -console 1234
by that way we can't access osgi command from console but can use "telnet localhost 1234" to use osgi command
* IDEMPIERE-4581 Model generator should isn't dialog it should be window
Fix problem about program not closing
Improve layout
Co-authored-by: hieplq <hieplq@hasuvimex.vn>
* IDEMPIERE-4596 Cannot create a product and an inventory document in the same transaction
WIP - commit failing unit test
* IDEMPIERE-4596 Cannot create a product and an inventory document in the same transaction
Implement solution suggested by @hengsin
* minor fix comment
Fixes:
org.adempiere.exceptions.AdempiereException: Cross tenant PO reading request detected from session 1009629 for table AD_UserDef_Win Record_ID=1000002
at org.compiere.model.PO.checkValidClient(PO.java:5000)
at org.compiere.model.PO.<init>(PO.java:212)
at org.adempiere.model.GenericPO.<init>(GenericPO.java:81)
at org.compiere.model.MTable.getPO(MTable.java:598)
at org.compiere.model.Query.list(Query.java:286)
at org.compiere.model.MUserDefWin.getAll(MUserDefWin.java:107)
at org.compiere.model.MUserDefWin.getBestMatch(MUserDefWin.java:160)
* IDEMPIERE-4577 Problem creating an invoice vendor negative after the shipment
* IDEMPIERE-4577 Problem creating an invoice vendor negative after the shipment
Add unit test
* IDEMPIERE-4268 Fix recursive call to PO
Found a case where PO.checkValidClient fails, and then because of log.severe it tries to create a record with MIssue, and the PO.checkValidClient fails in MIssue, and is called recursively until it fails with a "Trx.run: Transaction timeout."
* IDEMPIERE-4268
- Improve error message
- Fix problem with valid cross-tenant reads in MRegion and MWorkflow
* IDEMPIERE-4567 Resetting payment allocation to a charge leaves wrong BP Balance
MAllocationHdr.updateBP was broken, the form Payment Allocation worked just because it was calling bpartner.setTotalOpenBalance() at the end
so, I refactored the MAllocationHdr.updateBP and before/afterDelete to call bpartner.setTotalOpenBalance instead if the broken algorithm
Unit test added for allocating and deleting a customer invoice, a vendor invoice, and a charge
* IDEMPIERE-4567 Resetting payment allocation to a charge leaves wrong BP Balance
- Fix peer review changes requested by @hengsin
- Detected double call to bpartner.setTotalOpenBalance in WAllocation
- Detected some business partners in GardenWorld with wrong TotalOpenBalance or SO_CreditUsed, added migration script to fix it, it made more complicate to write unit tests as the data was wrong
- 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
* 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.
Fix error reported by @hengsin
Doc_Invoice.getValidCombination_ID: NO account Type=4
Make explicit the deprecation in code and hide the deprecated account fields on IDEMPIERE-362
* IDEMPIERE-4516 InvoiceCustomerTest show NPE at console
add NPE check
* IDEMPIERE-4516 InvoiceCustomerTest show NPE at console
- add way to defer the immediate posting of doc that's means to be
posted in the processing of docpostprocess of the source document.
- add severe log check to InvoiceCustomerTest
- DocumentEngine should skip Doc from DocPostProcess that have been
posted
* 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-4452 Allow pricelist schema lines to be dependent of vendor categories and to use entries in m_product_po not marked as current vendor if vendor is selected.
* IDEMPIERE-4452 modified update removed
* don't check for accidently set IsIgnoreIsCurrentVendor where it doesn't change anything.
* IDEMPIERE-4452 set IsIgnoreIsCurrentVendor to false ('N') when no business partner given.
* 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-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-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency
* IDEMPIERE-4128 Matched invoice posting with wrong precision based on transaction currency instead of schema currency - Added MatchInvTest.testMatReceiptPostingWithDiffCurrencyPrecision test case
* 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-4211 Schedulers launched twice - problem with RunOnlyOnIP null running on load balancer
add 1 to 3 minute delay to wait for hazelcast service
* IDEMPIERE-4211 Schedulers launched twice - problem with RunOnlyOnIP null running on load balancer
move waiting to background thread
add MONITOR_INITIAL_WAIT_FOR_CLUSTER_IN_SECONDS and
MONITOR_MAX_WAIT_FOR_CLUSTER_IN_SECONDS sysconfig
Fix issue with
java.lang.IllegalStateException: PO is Immutable: org.compiere.model.MRecentItem
at org.compiere.model.PO.checkImmutable(PO.java:1573)
at org.compiere.model.PO.set_Value(PO.java:733)
at org.compiere.model.PO.set_Value(PO.java:721)
at org.compiere.model.X_AD_RecentItem.setAD_Role_ID(X_AD_RecentItem.java:123)
at org.compiere.model.MRecentItem.addModifiedField(MRecentItem.java:234)
* 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-4490 Set default Contact/User in SO, Invoice, M_InOut
* Ran modelgenerator again with the new field = null
* IDEMPIERE 4490 - Update the migration scripts to 7.1 and set Bill_User_ID to null
* IDEMPIERE 4490 - Update the migration scripts to 7.1
* Change field name from Invoice Address to Invoice Contact / Ship Address to Ship Contact
* IDEMPIERE-4490 Add logic to CalloutOrder.bpartnerBill
* IDEMPIERE-1604 - Extend features for Window Customization
* change oracle data type
* oracle replace at sign to chr 64
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-2955: Adding Attribute Set Type to use attribute set for different purpose
* IDEMPIERE-2955: Fixing migration files swept between Oracle and postgresql folder.
* IDEMPIERE-2955: Fixing oracle migration script having mistakenly deleted comments
* IDEMPIERE-4467 Add caching to UserDefTab and UserDefField
* IDEMPIERE-4467 Change CCache to ImutablePOCache
* IDEMPIERE-4467 Window Customisation - Change cache Get and Put Methods
Change cache Get and Put methods to have consistency with ctx parameter.
* 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-4173 Wrong GL postings for matched invoice in RMA/Vendor Return/Credit Memo
* IDEMPIERE-4173 Wrong GL postings for matched invoice in RMA/Vendor Return/Credit Memo - Added test case
* IDEMPIERE-4067 : Support for Under/Over line and Blank line in finacial report line.
* IDEMPIERE-4067 : Adding support for blank line export in CSV, HTML, Excel. Also allowing to show description if provided. fixed all review comments fron Carlos Ruiz
* IDEMPIERE-4066: Adding 'Relative Period To' on financial report column which allow to specify period range to produce YoY. QoQ like comparision report.
* IDEMPIERE-4066: Fixing defaulting RelativePeriodTo to Null issue
* IDEMPIERE-4066: Fix as per Carlos review.
1. Fixing compilation issue
2. Moving Column ID constants to systemIDs
3. Updating serial version for MReportColumn.
* IDEMPIERE-4066: Reverted GridField class changes and configured defailt for RelativePeriodTo to be 'NULL'
* IDEMPIERE-1709 / IDEMPIERE-2624 Cant confirm 0 qty on Movement Confirmation
Implement void for movement confirm
* IDEMPIERE-1709 / IDEMPIERE-2624 Cant confirm 0 qty on Movement Confirmation
Voiding the confirmation voids the inventory move too
* IDEMPIERE-1709 / IDEMPIERE-2624 Cant confirm 0 qty on Movement Confirmation
Similar case found in MInOut - cannot void because of catch-22
Allow to void MInOut -> it automatically voids all pending confirmations
* IDEMPIERE-1709 / IDEMPIERE-2624 Cant confirm 0 qty on Movement Confirmation
Set quantities in zero when voiding movement confirmation
* 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
Fix problem reported by Anozi Mada
Fix issue found when testing - postgresql was failing with error
org.postgresql.util.PSQLException: ERROR: la columna «c_doctypereval_id» es de tipo numeric pero la expresión es de tipo text
Avoid creating empty journal
* IDEMPIERE-4425 Find Window improvements
Fix for printing report parameters - it is printing OPERATOR_EQUAL on reports instead of =
* IDEMPIERE-4425 Find Window improvements
Previous commit broke the find function - must use SQL for Values
* IDEMPIERE-2216:when make a warehouse order (in counter document test). new document material receipt is link with warehouse order not link with purchase order. it's correct?
* IDEMPIERE-2240:when create "On Credit Order" in counter document mode. invoice vendor make wrong reference to sale order
* IDEMPIERE-2257:can't complete invoice (vendor) generate from "order credit" by counter.
Integrating patch from Hiep hieplq@hasuvimex.vn
Changed syntax to be more readable
Used Processed instead of checking list of DocStatus
Co-authored-by: hieplq@hasuvimex.vn <hieplq@hasuvimex.vn>
* IDEMPIERE-4422 : GL Distribution - add SeqNo
Add SeqNo column on GL Distribution to allow users to choose the lowest one when several records are retrieved.
Fix typo
* IDEMPIERE-4422 : GL Distribution - add SeqNo
Fix a missed typo
* 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-4406 Performance: PO Cache should not always reset all entries after update of one record
PO update - reset cache by record id
* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record
refine unit test
* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record
add cache reset fix for delete
* IDEMPIERE-4406 Performance: PO Cache should not always reset all entries after update of one record
Fix exception when cache is empty
Expose hidden cache reset exception
* IDEMPIERE-4389 Implement Copy Constructor support for PO
Implement PO support for copy constructor
* IDEMPIERE-4389 Implement Copy Constructor support for PO
deprecate clone
replace clone with copy constructor
* IDEMPIERE-4389 Implement Copy Constructor support for PO
add unit test for MPrintFormat copy constructor
* IDEMPIERE-4389 Implement Copy Constructor support for PO
fix wrong import
* IDEMPIERE-2624 Cant confirm 0 qty on Movement Confirmation
* IDEMPIERE-2624 Cant confirm 0 qty on Movement Confirmation
Add validations to avoid editing lines if there are pending confirmations, in movement and shipment/receipt
add native postgresql unit test for GenericPaymentExport
remove unnecessary static and fix sql exception doesn't stop the export
replace Oracle (+) with standard sql outer joint
* 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
close trx in finally block.
m_directNullKey interfere with CSV Import Loader due to trx that's not
committed yet.
insert mode: update window/tab context after save.
Ability to define a dedicated mail template for the EMailTest process (via a client level SysConfig).
Output of the process was wrong (always successful even when the email was not sent)
* IDEMPIERE-4356
Using Hiep's idea
Co-Authored-By: hieplq <hieplq@users.noreply.github.com>
* IDEMPIERE-4356
Following Carlos's tests/advices, add current System Properties to the Properties initialized for the email
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: hieplq <hieplq@users.noreply.github.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4351 : MJournal/MJournalLine : fill mandatory values (if missing) in beforeSave methods
GL_Journal.C_AcctSchema_ID
GL_Journal.C_ConversionType_ID
GL_JournalLine.C_Currency_ID
GL_JournalLine.C_ConversionType_ID
* IDEMPIERE-4351 : MJournal/MJournalLine : fill mandatory
Based on Carlos's patch :
Fix issues in PO.java that are not allowing the beforeSave methods that complete organization to work
* This also has the effect of checking and setting the organization restrictions after beforeSave and EventHandlers have finished, potentially fixing developer errors on org not respecting the configuration on Client Share
* In MJournalLine move the setting of org to the top because the getOrCreateCombination method works with the org value
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-1026 Button on table to create automatically the window
* IDEMPIERE-1026 Button on table to create automatically the window - Fixed script
* IDEMPIERE-1026 Button on table to create automatically the window - Header update
* IDEMPIERE-1026 Button on table to create automatically the window - Follow best practices, no hardcoded IDs, no mixed cache and transaction
* IDEMPIERE-1026 Button on table to create automatically the window - Carlos PR
Starting point is the open source version of Compiere org/compiere/process/PriceListCreate.java
This version adds column M_DiscountSchemaLine.Description and rounding options for Hundred and Thousand
Then added to this version the iDempiere changes related to use correctly the T_Selection with AD_PInstance_ID,
and the changes related to Ticket #1002354: Price List Enhancement - which added Product Costs as an option for getting the initial price
Fixed many wrongly defined columns #resolve IDEMPIERE-4334
Added a fix to DisplayType - running synchronize column in C_Conversion_Rate.C_Currency_ID_To and A_Asset_Split.A_Asset_ID_To was throwing error
* IDEMPIERE-4330 New tables are not logged - requires a server restart
* IDEMPIERE-4330 New tables are not logged - requires a server restart
Add synchronized to isLogged and resetLoggedList as advised by Heng Sin
* 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
* 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-3333: Respecting ReportView order by clause when there is no orderby field on print format configured.
* IDEMPIERE-3333: Adding cached method as per peer review comment.
* IDEMPIERE-3333: Refactoring as per feedback from Carlos Ruiz.
* IDEMPIERE-1146 + IDEMPIERE-3234 / Centralized ID not working with native sequence enabled / PROJECT_ID_USE_CENTRALIZED_ID should take priority higher than SYSTEM_NATIVE_SEQUENCE
* IDEMPIERE-1146 + IDEMPIERE-3234
improve performance not reading MTable and Columns but just a cache
list of tables with EntityType column
* IDEMPIERE-1146 + IDEMPIERE-3234
Remove deprecation as the method is now capable of managin all cases
* IDEMPIERE-4168 Move Webstore out of core
Change EntityType of webstore table, column, field and menu from 'D' to
'WSTORE'
* IDEMPIERE-4168 Move Webstore out of core
Generate Model/Interface: filter column by EntityType. Update
AD_UserMail model class.
* IDEMPIERE-4168 Move Webstore out of core
Added optional column entity type filter.