Commit Graph

117 Commits

Author SHA1 Message Date
Deepak Pansheriya 680f9f3757
IDEMPIERE-5346 : Adding SSO support (#1571)
* IDEMPIERE-5346 : Adding SSO support

* IDEMPIERE-5346 : Fix as per peer review feedback.
Valid user should have password not null
removing #SSO_IS_ALREADY_AUTHENTICATE context variable due to security risk
Cross site scripting issue on error.htm
Making show role panel as system configurable
Adding language selection on role panel
Adding SSO support on iDempiere monitor and osgi console

* IDEMPIERE-5346: Redirect to console using static URL to avoid security vulenarabilit

* Committing patch from Carlos pr1571PR

* IDEMPIERE-5565: fixing NPE issue on Role change

* IDEMPIERE-5346: Appling pr1571PR2 from Carlos

* 1. IDEMPIERE-5346: Fix idempiereMonitor goes in a loop of sign-in
- Fix NPE when changing role
- Fix NPE when a user with single role & sysconfig: SSO_SELECT_ROLE is 'N'

* IDEMPIERE-5346 : IDempiere Monitor, use out of box login when SSO is not configured.

* IDEMPIERE-5346: Adding Authorization type on User and Tenant window. Created /webui/admin page for login with application credential.

* IDEMPIERE-5346: Implementing Hengsi's Code review comments
Showing meaning full error when Identity Provider returns error
In SSO filter, ignoreing css, zkau, images and resource URL
Correcting typo in Principal name.
Updated Documentation

* IDEMPIERE-5346 : Fixed documentation, typo and pending review comments

* IDEMPIERE-5346: Use token & SSO principal service to validate in Login.GetClient

* IDEMPIERE-5346: Remove the Domain URL column and refactor the code.

* IDEMPIERE-5346: Adding flag ENABLE_SSO_IDEMPIERE_MONITOR and ENABLE_SSO_OSGI_CONSOLE, using cache for SSOService, defaulting Authentication type on client to “Application and SSO”

* IDEMPIERE-5346: Fixed issue of User SSO type not respected and support for Zoom URL
2023-09-21 16:43:49 +08:00
hengsin 31b2907b0a
IDEMPIERE-5448 2023 June Platform Update (#1911)
* IDEMPIERE-5448 2023 June Platform Update

- update to final tycho 3.0.5 release.

* IDEMPIERE-5448 2023 June Platform Update

- remove obsolete junit dependency and test code.
2023-06-26 10:59:28 +02:00
hengsin 9c7713fa8d
IDEMPIERE-5448 2023 June Platform Update (#1531)
* IDEMPIERE-5448 Can't launch unit test with Eclipse 2022-09

- upgrade to tycho 3.1.0-SNAPSHOT
- set maven compiler source and target level to 11
- upgrade to junit 5.9.1

* IDEMPIERE-5448 Can't launch unit test with Eclipse 2022-09

- Change tycho version to 3.0.3

* IDEMPIERE-5448 2023 June Platform Update

* IDEMPIERE-5448 2023 June Platform Update

- Explicitly set target, source and release level to JavaSE 11

* IDEMPIERE-5448 2023 June Platform Update

- Use 3.0.5-SNAPSHOT to fix stack overflow error.

* IDEMPIERE-5448 2023 June Platform Update

- Change source, target and release level to JDK 17
- Update target platform name to idempiere-230620

* IDEMPIERE-5448 2023 June Platform Update

- Fix LogFactory ClassNotFound exception with Eclipse 2023-06
2023-06-21 13:44:18 +02:00
Carlos Ruiz dd7b63aa0d
IDEMPIERE-5523 Release 10 Peace (#1624)
- move master to release-11 development build
2022-12-24 00:20:49 +01:00
Nicolas Micoud d0d42ffaf1
IDEMPIERE-5361 : Jasper reports with Charts are not working (#1452)
* IDEMPIERE-5361 : Jasper reports with Charts are not working

* IDEMPIERE-5361 : patch from hengsin
2022-08-26 09:35:54 +08:00
PeterTakacs300 ccda5e4495
IDEMPIERE-5225 - HTML Report minification (#1237)
* IDEMPIERE-5225 - HTML Report minification

* IDEMPIERE-5225 - SysConfig added

* IDEMPIERE-5225 - minification default set to true
2022-03-17 15:36:02 +01:00
hengsin 0db580a7a0
IDEMPIERE-5163 2022-01 Platform update (#1142) 2022-01-25 15:58:06 +01:00
Carlos Ruiz fa62f421b9
iIDEMPIERE-5109 Release 9 Horizon - set master in v10 (#1092) 2021-12-24 17:18:24 +01:00
hengsin 633c2e240f
IDEMPIERE-5012 org.idempiere.ui.zk.annotation.Form annotation (#944) 2021-10-23 15:11:49 +02:00
hengsin 4759ae5c2b
IDEMPIERE-5001 add org.adempiere.base.annotation.Process annotation (#924)
* IDEMPIERE-5001 add org.adempiere.base.annotation.Process annotation

* IDEMPIERE-5001 add org.adempiere.base.annotation.Process annotation

minor refinement

* IDEMPIERE-5001 add org.adempiere.base.annotation.Process annotation

refine error handling

* IDEMPIERE-5001 add org.adempiere.base.annotation.Process annotation

refactor to follow closer the AnnotationBasedModelFactory naming
convention.
2021-10-22 12:38:10 +02:00
Saulo José Gil 2b4a2be5a2
IDEMPIERE-4842 Easier model registration (#893)
* 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>
2021-09-22 22:42:51 +08:00
Saulo José Gil 602e450a93
IDEMPIERE-4842 Easier model registration (#877)
* 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>
2021-09-18 13:35:57 +08:00
hengsin ae5a665dd8
IDEMPIERE-4933 Platform update for 9.x (#857)
* IDEMPIERE-4933 Platform update for 9.x

- WIP

* IDEMPIERE-4933 Platform update for 9.x

- project to repackaged some osgi bundles from maven

* IDEMPIERE-4933 Platform update for 9.x

- Fix target platform error

* IDEMPIERE-4933 Platform update for 9.x

* IDEMPIERE-4933 Platform update for 9.x

- minor eclipse setting fix
2021-09-04 16:12:10 +02:00
hengsin ac01e77a40
IDEMPIERE-4880 Replace iText PDF with OpenPDF (#837) 2021-08-17 18:44:32 +02:00
hengsin 1fb4067c01
IDEMPIERE-4894 OSGi Interface to support custom header and footer (#804)
* 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
2021-07-30 13:53:28 +02:00
hengsin d7153575e6
IDEMPIERE-4824 Boolean Logic Expression Enhancements (#716)
* IDEMPIERE-4824 Boolean Logic Expression Enhancements

* IDEMPIERE-4824 Boolean Logic Expression Enhancements

Fix handling of conditional variable (i.e @VariableName:DefaultValue@)

* IDEMPIERE-4824 Boolean Logic Expression Enhancements

Fix unit test launch configuration
2021-06-10 23:08:22 +08:00
Carlos Ruiz a4f67eb852
IDEMPIERE-4782 Multi-factor authentication (FHCA-2034) (#705)
* 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
2021-06-08 19:49:46 +08:00
hengsin beaaf31d9a
IDEMPIERE-4771 add Cloud Upload interface to report viewer and scheduler (#679)
* 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
2021-05-12 13:42:55 +02:00
hengsin a79be8aad8
IDEMPIERE-4749 Allow to use OAuth2 libraries on plugins (#668)
* 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.
2021-04-28 14:59:50 +02:00
Carlos Ruiz 5f2d71347d
IDEMPIERE-3101 implement OAuth2 for mail (gmail, outlook and other mail system) (#593)
* 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
2021-03-06 11:49:39 +01:00
hengsin ee77620186
IDEMPIERE-4694 Implement thread safe, annotation based osgi event han… (#571)
* 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.
2021-02-10 16:12:16 +01:00
hengsin 1c5a28aa0a
IDEMPIERE-4689 Add process factory base class backed by Map and Lambda functional object (#566) 2021-02-06 14:37:04 +01:00
hengsin 0f263f1c79
IDEMPIERE-4675 Add model factory base class backed by Map and Lambda … (#555)
- added interface and default mapped model factory service
- added unit test for default mapped model factory service
2021-02-01 15:29:13 +01:00
Carlos Ruiz 8103ab0732 IDEMPIERE-4604 Release 8.2
Change references to new version
Create new migration folder
2020-12-20 10:15:20 +01:00
Carlos Ruiz 6390ce20cd IDEMPIERE-4604 Release 8.2
Fix warnings on MANIFEST.MF
2020-12-20 09:53:21 +01:00
hengsin b80ed34d9c
IDEMPIERE-4599 Remove obsolete org.compiere.interfaces.* interface (#473)
* IDEMPIERE-4599 Remove obsolete org.compiere.interfaces.* interface

* IDEMPIERE-4599 Remove obsolete org.compiere.interfaces.* interface

remove warning.
2020-12-18 14:52:11 +01:00
Carlos Ruiz 210e54b05f IDEMPIERE-4521 Release 8.1 - RC
Change versions in pom and manifest files
2020-11-03 21:59:12 +01:00
hengsin dd2ef468b0
IDEMPIERE 4287 (#247)
* 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.
2020-09-21 14:03:00 +08:00
hieplq 595e0df99c
Idempiere-4298:support update jdk (jdk 12 13 14) (#69)
* 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)
2020-05-20 11:18:31 +08:00
hengsin d5a82db8b1 IDEMPIERE-4232 Remove code for Media and Knowledge management 2020-04-06 16:45:52 +08:00
hengsin d79c6de5e5 IDEMPIERE-4202 Remove java web start code and libraries 2020-03-10 18:20:04 +08:00
hengsin 3cc17d25fd IDEMPIERE-4158 Move Swing Client out of core. Drop restlet dependency, drop webstart and applet stuffs and some minor dependency adjustments. 2020-01-29 08:00:36 +08:00
Deepak Pansheriya f13bcd6de9 IDEMPIERE-4136: Upgrading Jasper report to version 6.11.0 2019-12-25 20:28:37 +05:30
Carlos Ruiz 64eadf1822 release 7.1 process - set version in configuration files 2019-11-21 23:28:48 +01:00
Heng Sin Low 8f3b199b1f IDEMPIERE-4052 Move to Eclipse 2019-09 and ECJ 3.19.0 2019-09-19 19:57:52 +08:00
hieplq d7cddaa9f2 IDEMPIERE-3947:add interface to easy implement FA depreciation method
Fixed Asset bugs and enhancements
2019-08-15 22:03:59 +07:00
Carlos Ruiz f5e6beb8b7 hg merge release-6.2 (merge release6.2 into default) 2019-04-11 15:51:04 +02:00
Heng Sin Low bf2b531267 IDEMPIERE-3946 Upgrade to Tycho 1.4.0 2019-04-11 20:22:24 +08:00
Carlos Ruiz d28c1e682d Integrate contribution from TrekGlobal - developed by Heng Sin Low and Elaine Tan
1007781 Fix barcode text bug
1009003 add QR Code as Barcode Type for Print Formats
1006829 Add "Print Barcode Text" flag to print format item. Fix wrong scaling for barcode image. Fix barcode print format item doesn't respect max height.
IDEMPIERE-3948 Implement QRCode support in report engine
IDEMPIERE-1854 Barcode issue: Code Missing from barcodes in Code 128 B
IDEMPIERE-1838 Adding UPC-A barcode support in print format and adding setting fonts from print format item
2019-04-10 17:57:08 +02:00
Carlos Ruiz e1ce7e9ec9 Backed out changeset c14bc0ce677c - IDEMPIERE-3808 - works fine in 2018-12 but not yet in 2018-09 2019-01-10 15:39:41 +01:00
Carlos Ruiz f79dc728a3 IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. As advised by Heng Sin 2019-01-10 15:21:19 +01:00
Carlos Ruiz 090a34eb88 IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. / eclipse still doesn't fully support - avoid annoying warning on launcher 2019-01-07 17:58:10 +01:00
Carlos Ruiz d14338729b IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. 2019-01-07 13:22:58 +01:00
Heng Sin Low 7611c3e3da IDEMPIERE-3808:collect info to move idempiere to jdk-11. Fix jdk target environment. 2019-01-07 14:59:43 +08:00
Carlos Ruiz 9487335169 Preparing release 6.2 - upgrade versions 2019-01-05 23:56:28 +01:00
hieplq 45e54b5da0 IDEMPIERE-3808:collect info to move idempiere to jdk-11 (update lib j2ee take out from jdk)
https://github.com/eclipse-ee4j
some already release so update, some not yet release so wait

https://eclipse-ee4j.github.io/javamail/
https://eclipse-ee4j.github.io/jaf/
2018-12-23 11:08:13 +07:00
hieplq 942800418e IDEMPIERE-3808:collect info to move idempiere to jdk-11 (zk8.6.0.1, eclipse-1812, java11, tycho 1.3)
still use local repository for maven.to.p2 to continue update library
2018-12-22 15:49:50 +07:00
Carlos Ruiz ee4303d453 set version to 6.1 2018-11-04 14:47:53 -02:00
hieplq 7ddd9b9692 IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (web service/tycho ok, eclipse conflic)
use javax.activation bundle from eclipse can resolve issue conflic between tycho buil/eclipse build/eclipse runtime
2018-10-31 10:25:17 +07:00
hieplq 8a04f3e303 IDEMPIERE-3798:Move iDempiere default branch to openjdk 10 (web service/tycho ok, eclipse conflic)
1. new version of cxf need new version of spring so get osgi version from org.apache.servicemix but spring of cxf limit to 4.0 so take 4.3.19.RELEASE_1
http://cxf.apache.org/docs/30-migration-guide.html

2. eclipse auto add --add-modules=ALL-SYSTEM when run eclipse launcher, so when run idempiere server from eclipse encounter bellow condition
   javax.activity, javax.xml.ws is depricate package to remove on jdk11
   that why this module is exclusive from build class path (but by --add-modules=ALL-SYSTEM it appear at runtime)
   we use some replace jar for that package (com.sun.activation for javax.activation)
2018-10-31 04:03:57 +07:00