* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window / also in new Attachment button
* IDEMPIERE-4986 Extend events to prefill email dialog variables from report window / change approach to constructor
* IDEMPIERE-4992 email from archive dialog
* IDEMPIERE-4721 : Financial Report : exclude all adjustment periods - fix NPE
reported by @CarlosRuiz-globalqss ; see https://idempiere.atlassian.net/browse/IDEMPIERE-4721?focusedCommentId=47539
* IDEMPIERE-4721 : Financial Report : exclude all adjustment periods - fix NPE
Using Carlos's suggestion
Co-Authored-By: Carlos Ruiz <carg67@gmail.com>
Co-authored-by: Carlos Ruiz <carg67@gmail.com>
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / Shell script
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / Java Shell script -> beanshell/groovy
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / Remove java class option, fixes for script
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / rename to ScriptJSR223
* IDEMPIERE-4968 Enable 2Pack to run java class or script (FHCA-3112 FHCA-3113) / add audit information to SQL statements, shell and JSR223 scripts
* IDEMPIERE-4842 Easier model registration
- Needs to enable jar scanning to support felix/console installation of
plugin jar.
- add rejectJars call to reduce startup delay after enable of jar
scanning. keep the list short to reduce future maintenance hazard.
- remove the not supported use of acceptPackagesNonRecursive and
acceptClasses together.
- change getAcceptClassesPatterns() default to X_* and M*. Withouut
acceptPackages, we need to scan both X and M classes.
* IDEMPIERE-4842 Easier model registration
- remove use of rejectJars since the performance difference is small and
need maintenance.
- remove warning for not overriding getPackages(). Plugin that doesn't
has many model class (< 100) doesn't have to override getPackages() as
performance is good enough with the use of acceptClasses(...).
* IDEMPIERE-4842 Easier model registration
- Change from https://github.com/atteo/classindex to
https://github.com/classgraph/classgraph, remove annotation processor
config.
- Change service.ranking of DefaultModelFactory to -1 and
service.ranking of AnnotationBasedModelFactory to 0. This give
AnnotationBasedModelFactory higher priority over DefaultModelFactory and
allow plugins to have higher priority over AnnotationBasedModelFactory
with server.ranking of 1 (the common practise before the introduction of
AnnotationBasedModelFactory).
- Added resultset constructor to MTree. This is to allow the use of
MTree with model factory.
- Remove classindex annotation from org.adempiere.base.Model and X_*
model classes.
- Added unit test for table to model class mapping
- AnnotationBasedModelFactory: Change from using annotation processor to
runtime annotation scanning using the classgraph library. The default
setting scans all the X_* model class and travels the inheritance
hierarchy to discover the M* model class. Plugin needs to create a
subclass of AnnotationBasedModelFactory and register it as an OSGi
component to scan the plugin's annotated model classes (the plugin's
custom AnnotationBasedModelFactory component should have service.ranking
> 0).
* IDEMPIERE-4842 Easier model registration
minor refinement
* Minor changes
Co-authored-by: hengsin <hengsin@gmail.com>
* 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>
* IDEMPIERE-4842 Easier model registration
- Temporary disable AnnotationBasedModelFactory until getSubclasses()
doesn't work for subclass from different package is resolve.
* IDEMPIERE-4842 Easier model registration
- turn of annotation processing in editor which causes slow editor
performance
* 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-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info
Use customized image from tenant level when opening the panel
* IDEMPIERE-4946 : Add IsShowInDashboard, SeqNo and ImageURL on AD_UserDef_Info - fix migration scripts name
* IDEMPIERE-4961 Minor performance enhancement for AD Window
* IDEMPIERE-4961 Minor performance enhancement for AD Window
Fix potential mtab not found issue with 2pack import.
* IDEMPIERE-4960 Performance improvement for the opening of info window
* IDEMPIERE-4960 Performance improvement for the opening of info window
Query.scroll and Query.list basically offer the same db performance, the
previous change is unnecessary.
* IDEMPIERE-4959 Performance improvement for the opening of form window
* IDEMPIERE-4959 Performance improvement for the opening of form window
minor cache name change.
* IDEMPIERE-4958 Performance improvement for the opening of process dialog
* IDEMPIERE-4958 Performance improvement for the opening of process dialog
Query.scroll and Query.list has similar db performance, the previous
change is not needed.
At the end of table sorting, trigger data status change event before UI
event, so that GridTab data is changed before UI refresh, which is
needed for Swing UI.
* IDEMPIERE-4937 Refreshing the GridTab after moving a node in the Tree
* IDEMPIERE-4937 Refreshing the GridTab after moving a node in the Tree
Use Trx object instead of context for event changes indicator.
* IDEMPIERE-4470 Window Advanced Search - New operator types: AND Not, Or Not
Based on pull request 170
Co-authored-by: Igor Pojzl <igor.pojzl@cloudempiere.com>
* IDEMPIERE-4470 Window Advanced Search - New operator types: AND Not, Or Not
Rename migration scripts as suggested by Heng Sin
* 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>