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