Releases: axelor/axelor-open-platform
v6.1.3
6.1.3 (2023-05-15)
Fixed
- Align script helper test expressions with Action behavior
- Fix attributes that need a test instead of an evaluation
- Fix action test condition when context proxy is used
- Do not try to generate binary download link on unsaved record
v6.1.2
6.1.2 (2023-04-05)
Changes
-
Improve resolution of AOP core dependencies
Use AOP version defined in root project. This avoids to use a version
coming from transitive dependencies.For example, if a module is built and published using AOP version 6.1.2
and the root project use AOP version 6.1.1, it will now use the AOP
version of the project, ie 6.1.1 (instead of getting the AOP version of
the transitive dependency of the module).
Fixed
-
Don't reload dashlet custom view when the widget is not visible
-
Disable exporting on Kanban views
-
Fix empty recipients list when posting message or adding followers
-
Fix onChange triggered after grid edit cancel
-
Fix missing "refresh", "new", "prev", and "next" keyboard shortcuts on cards and kanban views
-
Fix moving record on top level grid
-
Fix grid not editable depending on readonly/canEdit conditions
-
Fix redefined User namecolumn in collaboration widget
When the namecolumn of the User entity is redefined,
it was not taken into account in the collaboration widget. -
Fix editable grid preventing save
On slow network and/or big grids, going in and out of grid edit
may trigger duplicate grid edit events and mess with the counting
of active editable grids. This could cause saving to fail. -
Fix export on relational fields
-
Fix spinner buttons triggering onChange inside editable grid
-
Escape data when generating xml
-
Don't allow to post message without body
Security
- Check
canNew
view attribute with "create new record" keyboard shortcut
v5.4.20
Release 5.4.20
v5.4.19
Release 5.4.19
v6.1.1
6.1.1 (2023-02-06)
Fixed
-
Fix dirty view when an editor contain a button
-
Don't set default value on dotted fields of existing records
This fixes values mismatch of dotted fields having default values after saving new record
from form view and switching back to grid. -
Fix merging of namecolumn fields in code generator
-
Fix multiple grouping on grid
-
Fix reloading meta on systems having high number of cores
-
Fix onnew popup actions called with delay
-
Fix hidden panels/buttons in editor when the record changes
-
Fix details from view attrs reset when reloading from grid/tab
-
Fix auth provider setting
exclusive
-
Forbid adding init params
When merging properties, it should be forbidden to add any init params,
whether we're overriding fields or adding fields. -
Don't warn about unchanged ref when merging entity props in code generator
ref
may be specified as simple name or fully qualified name.
When one is using simple name, compare by simple name only,
as to avoid spurious warning. -
Fix tab refresh with HTML dashlet
-
Fix grid grouping with evaluated scale
Fix grid grouping when there are fields using scale evaluation (
x-scale="field"
).
Use the maximum scale in the group for the formatted aggregation.
v5.4.18
Release 5.4.18
v6.1.0
6.1.0 (2022-11-03)
Changes
-
Change code generator strategy to merge item attributes
Previously, the code generator replace the field definition by the new one. Now
the code generator will merge initial field attributes with overridable attributes.
So, only necessarily attributes that need to be override should be defined in the
overwritten entity.This applies to both entities and enums.
In the case of entity fields, there are a few restrictions:
- Attributes that are not overridable:
initParam
column
column2
ref
mappedBy
table
tz
json
- Attributes that are overridable with some conditions:
large
: large field cannot become non-largetransient
andformula
: persisted field cannot become non-persisted
- Attributes that are not overridable:
-
Remove
auth.provider.xx.absoluteUrlRequired
property -
Allow setting min/max to blank in order to remove the attribute in code generator
-
Define maximum number of records per page
This change the default
api.pagination.max-per-page
, currently allowing unlimited
number of records per page, to 500. -
Admins group can now customize views by default
-
Disable sorting on grids having
canMove="true"
-
Let JpaFixture items persist error propagate
JpaFixture is used for tests.
In case of data error, tests failed without the actual cause, and there is no point in continuing
and have obscure errors happen on wrong data. -
Support of
X-Forwarded-Context
header removed in favor ofX-Forwarded-Prefix
-
Reorder HTML widget buttons for consistency with Markdown widget
-
Reorder toolbar icons for consistency with Markdown widget
-
Move JpaFixture to axelor-test module
-
Upgrade HSQL JDBC from 2.6.1 to 2.7.0
-
Upgrade MySQL JDBC from 8.0.29 to 8.0.30
-
Upgrade UnboundID LDAP SDK from 6.0.5 to 6.0.6
-
Upgrade Junit from 5.8.2 to 5.9.1
-
Upgrade Upgrade embedded Tomcat from 9.0.63 to 9.0.65
-
Upgrade StringTemplate from 4.3.3 to 4.3.4
-
Upgrade Greenmail from 1.6.9 to 1.6.10
-
Upgrade Redisson from 3.17.3 to 3.17.6
-
Upgrade Resteasy from 4.7.6 to 4.7.7
-
Upgrade Groovy from 3.0.10 to 3.0.13
-
Upgrade Flyway from 8.5.11 to 9.3.1
-
Upgrade Hibernate Validator from 6.2.3 to 6.2.4
-
Upgrade Woodstox from 6.2.8 to 6.3.1
-
Upgrade Undertow from 2.2.17 to 2.2.19
-
Upgrade EclipseLink MOXy from 2.7.10 to 2.7.11
-
Upgrade Shiro from 1.9.0 to 1.9.1
-
Upgrade Spotless from 6.5.1 to 6.11.0
-
Upgrade Jsoup from 1.14.3 to 1.15.3
-
Upgrade Pac4j from 5.4.3 to 5.4.5
-
Upgrade Caffeine from 3.1.0 to 3.1.1
-
Upgrade Hazelcast from 5.1.1 to 5.1.3
-
Upgrade Jackson from 2.13.3 to 2.13.4
-
Upgrade Infinispan from 13.0.10 to 13.0.11
-
Upgrade PostgreSQL JDBC from 42.3.6 to 42.5.0
-
Upgrade Tika from 2.3.0 to 2.4.1
-
Upgrade Byte Buddy from 1.12.10 to 1.12.17
-
Upgrade Ehcache from 3.10.0 to 3.10.1
-
Upgrade Gradle from 7.4.2 to 7.5.1
-
Upgrade Gradle Node Plugin from 3.2.1 to 3.4.0
Features
-
Improve support of
X-Forwarded-*
headersApp now have full support for
X-Forwarded-*
headers and provides
better usage of proxy management.Supported headers are:
X-Forwarded-Host
,X-Forwarded-Port
,
X-Forwarded-Proto
,X-Forwarded-Prefix
,X-Forwarded-For
.pac4j usage is now based on the current request. When redirecting urls,
the Location is now absolute and no more relative to current servlet path.
This avoids custom proxy configuration to rewrite the location or cookie path. -
Implement setting scale on grid column by action
scale
attribute on a decimal field can be change on a grid column by an action.<action-attrs name="action-set-scale"> <attribute for="items.price" name="scale" expr="eval: 10"/> </action-attrs> <form ...> ... <panel-related field="items"> ... <field name="price"/> </panel-related> ... </form>
-
Displays the number of displayed and totaled items on the DMS list view
-
Use colored letter on top right corner as placeholder user icon
This aligns user display with mail message and collaboration.
-
Implement Markdown widget using TOAST UI Editor with Code Syntax Highlight Plugin
Example:
<field name="myTextField" widget="markdown"/>
Attribute Description x-lite
Enable lite toolbar (defaults to false
)x-preview-style
Markdown editor's preview style: tab
(default),vertical
x-initial-edit-type
Initial editor type: markdown
(default),wysiwyg
x-hide-mode-switch
Whether to hide edit typo switch tab bar (defaults to false
) -
Fall back to colored letter user image in mail message thread in case of permission failure
-
Allow to get value of field with selection in string templates
For example, use
<SaleOrder.statusSelect.value>
to get the value of the selection.
With<SaleOrder.statusSelect>
, you still get the title of the selection. -
Support x-field attribute with InfoButton widget to specify the bound field
Example:
Use the
x-field
attribute oninfo-button
widget to specify the bound field. When usingx-field
,
the button and the field are 2 distinct elements. Any attributes defined on that field will be used to
format the value. Moreover, this allows to change the button attributes without impact on the bound field.<panel> <button name="amountBtn" title="Amount" widget="info-button" x-field="totalAmount" onClick="my-action"/> <field name="amount" hidden="true"/> </panel>
-
Dynamically evaluate x-scale from context
On a decimal field,
x-scale
attribute accept an field name for a dynamic evaluation.
Grid and form view are both supported.<field name="decimalField" widget="Decimal" x-scale="currency.decimalPlaces" x-precision="18"/>
-
Implement support to see users on same view in realtime
This allows to see users that are seeing/editing/updating the current opened record.
Feature can be disabled with
view.collaboration.enabled
property. By default, it is enabled.
On groups, there is a new booleancanViewCollaboration
to determine whether members
can view collaboration (true
by default). -
Introduce default number of items displayed per page config
Introduce new config
api.pagination.default-per-page
:# Define the default number of items per page api.pagination.default-per-page = 40
This config is used in UI, especially in grid views, to define the default number of items
displayed per page. Default value is still 40 records. -
Allow code generator to merge transient and multirelational fields
Previously it was not able to override any attributes of transients and collections fields.
Now it is allow to change some of their attributes. -
Implement client-side sorting of o2m/m2m grids
When there were some pending changes on a grid, sorting used to be disabled.
This is no longer the case thanks to client-side sorting.
Also transient/dummy fields can now be sorted.
Only o2m/m2m grids can be sorted client-side.
Other grid views that use pagination still send search request upon sorting.
Fixed
-
Fix truth value of action test expressions
When evaluating action test expressions, "expr" should have the same truth value as "!!expr".
It was working with types boolean, integer, date, time, datetime, enum, references (any-to-one),
but was failing with long, decimal, string, binary, collections (any-to-many). -
Fix x-scale="0"
-
Fix blank m2o in grid when there is no namecolumn
v6.0.4
6.0.4 (2022-11-02)
Changes
-
Upgrade Hibernate from 5.6.9 to 5.6.12
This fixes null mapped one-to-one field on an entity loaded from L2 cache.
Features
-
Update meta field labels and descriptions when restoring meta models
Update meta field labels so that they can be used in grid customization.
-
Improve details-view usage
In a details-view, the form view can be closed on demand or if there is no selected
line. When we delete a line in the grid, the record in the form is no more displayed.This also fix duplicated requests, missing onLoad/onNew calls in some conditions and
reset attrs states on form view.
Fixed
-
Preserve scroll position after saving form in details view
-
Fix grouped grid display when already initialized
-
Fix chart context evaluation when calling from action-view
-
Fix page on grid customization popup when containing extra fields
-
Make sure grids have committed before firing button action
Fixes application that can become unresponsive after clicking on a button on a form view
while having uncommitted editable grids. -
Fix record pager display issue in popup
-
Fix missing cell css applied on item's parent
-
Merge search-filter fields title with the model field title in grid customization popup
-
Fix query fetching missing fields in TagSelect widget
-
Fix delete metafile if target file is not found
-
Fix dependency conflict between GraalJS and Birt with package "com.ibm.icu"
-
Fix adding duplicate dotted field in grid customization
Fix adding duplicate dotted field in grid customization
when it exists both in view and search filters. -
Fix customize dashboard with drag & drop
-
Fix wrong number of attachments displayed on record toolbar paper clip icon
v5.4.17
Release 5.4.17
v6.0.3
6.0.3 (2022-09-28)
Features
- Add view action to help popover
Fixed
-
Fix missing item context after creating M2M item from popup
-
Check for
view.allow-customization
setting when saving customized view -
Fix save action on top grid preventing further actions
-
Fix wrong css class applied on editable grid
-
Fix custom fields on editable grid
-
Fix restarting jobs after scheduler shutdown
-
Fix model class resolution in Groovy expressions
-
Fix refreshing html dashlet when record changes
-
Fix non editable grid view customization popup
-
Fix required field using TagSelect widget
-
Skip default values of dotted field in editable grid
-
Fix timezone issues with date adapter
When the server is running on UTC- timezone, date could be converted back by one day.
-
Fix conflicting
Order
title -
Fix saving boolean false filter
In the case of boolean fields with operator
false
,
filter was transformed in order to check for null or false.
But by doing that, original criteria was lost, breaking meta filter saving.
Replaced client-side operatorstrue
andfalse
by new virtual operators
$isTrue
and$isFalse
which perform client-side transformation. -
Fix ReferenceError with "<=" operator on custom date/datetime fields
-
Fix sidebar toggle on window resize
-
Fix client authentication using path based callback url
Some clients, ie AzureAd2Client, use path based callback url (/callback/AzureAd2Client) instead of default query based callback url (/callback?client_name=AzureAd2Client).
-
Fix missing TagSelect placeholder until we add and remove an item
-
Fix auth properties that exist in client and configuration
When a property exists in the configuration and the client, try to set both.
For example,
scope
exists in bothGenericOAuth20Client
andOAuthConfiguration
. -
Fix clipped field in Modern theme when using
css="large"
on WebKit-based browsers -
Apply client-side operators on export and masss update
Applying client-side operators was done on search only.
Now, it is also done on exports and mass updates. -
Fix setting $-prefixed dummy fields from onNew with default values
Issue happened when setting $-prefixed dummy fields from onNew
and record has some default values. -
Fix wrong selected rows after grid sorting
-
Fix custom date/datetime criteria processing combined with column search
-
Use access token to retrieve user profile picture from OpenID Connect
This fixes retrieving user profile picture from Azure Active Directory,
where sending the access token is required. -
Fix refreshing html view from tab right click
-
Fix save action with only default values
This allow to save a record that contain default values (generally coming from domain definition)
when callingsave
action. This behavior will be same as the toolbar save button behavior. -
Fix changing dashlet url from
action-attrs
-
Fix setting authentication map property
This fixes setting
GenericOAuth20Client.profileAttrs
.
Issue happened when there was no getter.# profile attributes: map of key: type|tag # supported types: Integer, Boolean, Color, Gender, Locale, Long, URI, String (default) auth.provider.oauth.profile-attrs.age = Integer|age auth.provider.oauth.profile-attrs.is_admin = Boolean|is_admin