* 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