* IDEMPIERE-4866 : Multiple smtp per tenant
Same PR as https://github.com/idempiere/idempiere/pull/783
* IDEMPIERE-4866 : Multiple smtp per tenant - various fixes
Fixes suggested by Carlos on https://github.com/idempiere/idempiere/pull/783 (remove System.out, change AD_Element name, tab in SingleRow mode) + fix NPE
* IDEMPIERE-4866 : Multiple smtp per tenant : implement cache
* IDEMPIERE-4866 : Multiple smtp per tenant : process EMailTest was not set on column
Fixes by Carlos
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* Preliminary support for automatic model class registration
Model classes can be tagged with a new @Model annotation that allows for
easy/fast class scanning/registration, based on the ClassIndex library.
The list of annotated model classes is generated at compile time, thus
reducing reflection reliance to a bare minimum.
NOTE: Eclipse uses its own Java compiler which is not strictly standard
compliant and requires extra configuration. In Java Compiler ->
Annotation Processing -> Factory Path you need to add ClassIndex jar
file
* Annotation based model factory
* Improve classloader determination for annotation scanning
ClassIndex default annotation scanning method determines the classloader
to be used by calling Thread.currentThread().getContextClassLoader(),
which should not be used in an OSGi environment.
* Enable ClassIndex's annotation processor under Eclipse
Make sure annotation processing is enabled at Module Properties -> Java
Compiler -> Annotation Processing
* Refactoring annotation-based model class detection
Eliminated the need of annotating M* classes, by using ClassIndex's
@IndexSubclasses annotation.
* Minor change
* Minor changes
* Creation of AbstractModelFactory
* Documentation
* Make AnnotationBasedModelFactory extend AbstractModelFactory
* IDEMPIERE-4842 Easier model registration
- add annotation processor jdt settings
- fix @Component annotation for AnnotationBasedModelFactory
- fix generated x_* class missing "org.atteo.classindex.IndexSubclasses"
import
* Expose ClassIndex lib to other bundles
* Updated model classes
Co-authored-by: hengsin <hengsin@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-4858 : CreateTable process
* IDEMPIERE-4858 : CreateTable process - fixes
Changes following Carlos's remarks - see details in the ticket
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - fixes migration scripts
See details in ticket
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - various fixes
fix migration scripts names / constants in uppercase / remove check of table length
* IDEMPIERE-4858 : CreateTable process - various fixes
default value for EntityType param / replace numeric name/value params by boolean ones / enhance creation of system element (name/print name/description)
see https://idempiere.atlassian.net/browse/IDEMPIERE-4858?focusedCommentId=47325
* IDEMPIERE-4858 : CreateTable process : optional columns
* IDEMPIERE-4858 : CreateTable process : remove wrong temporary migration scripts
* IDEMPIERE-4858 : CreateTable process :
add org.adempiere.base.process as required plugin (and not as imported package)
add missing content on migration scripts
* IDEMPIERE-4858 : CreateTable process : fixes / reordering / renaming
Failed creating Description column: ** Fill mandatory fields: : Length
Value and DocumentNo are not usually mandatory
Some minor reordering and renaming of variables
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process : can be used to add columns on existing table
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - fix default value for TableName parameter
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4858 : CreateTable process - restore default value for Description, Name and AccessLevel parameters
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-1026 Button on table to create automatically the window
Set relevant fields for translation tabs
* Set better order by for translation tables
* Minor performance fix found when testing this - the callout is visiting the database even on null column
* 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)
* 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
* 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-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-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
- change the order by for payments from "DateTrx" to "DateTrx, Created, C_Payment_ID"
- change the order by for invoices from "DateInvoiced" to "DateInvoiced, Created, C_Invoice_ID"
- refactor four JDBC managed queries to use the Query function
* 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-4469 when recalculating price on price list generation all T_Selection entries are used independently of AD_PInstance_ID
* IDEMPIERE-4469 when recalculating price on price list generation all T_Selection entries are used independently of AD_PInstance_ID
* 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.
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-4162 ignore inactive products when looking for duplicate upc, handle errors on update without disturbing the import run.
* IDEMPIERE-4162 ignore inactive products when looking for duplicate upc, handle errors on update without disturbing the import run.
changed ImportProduct to save errors even if the next product is in error, too.
* IDEMPIERE-4162 ignore inactive products when looking for duplicate upc, handle errors on update without disturbing the import run.
changed ImportProduct to save errors even if the next product is in error, too.
* IDEMPIERE-4162 ignore inactive products when looking for duplicate upc, handle errors on update without disturbing the import run.
Check for duplicate UPC in m_product
* IDEMPIERE-4162 ignore inactive products when looking for duplicate upc, handle errors on update without disturbing the import run.
check for inactive products added
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)