From b4682e59ba61c2b5c0e8dc0c28792a2fa9ea2d13 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Tue, 24 Oct 2023 09:50:21 -0300 Subject: [PATCH 01/16] LPS-200156 Create new Auto Increment object field business type --- .../object-admin-rest-impl/rest-openapi.yaml | 2 +- .../constants/ObjectFieldConstants.java | 2 + .../ObjectFieldSettingConstants.java | 6 + .../ObjectFieldSettingValueException.java | 21 +- .../AutoIncrementObjectFieldBusinessType.java | 179 ++++++++++++++++++ .../type/BaseObjectFieldBusinessType.java | 19 +- 6 files changed, 215 insertions(+), 14 deletions(-) create mode 100644 modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java diff --git a/modules/apps/object/object-admin-rest-impl/rest-openapi.yaml b/modules/apps/object/object-admin-rest-impl/rest-openapi.yaml index 2fcb75ebd3cdd7..181a8c137ed9d6 100644 --- a/modules/apps/object/object-admin-rest-impl/rest-openapi.yaml +++ b/modules/apps/object/object-admin-rest-impl/rest-openapi.yaml @@ -169,7 +169,7 @@ components: readOnly: true type: object businessType: - enum: [Aggregation, Attachment, Boolean, Date, DateTime, Decimal, Encrypted, Formula, Integer, LongInteger, LongText, MultiselectPicklist, Picklist, PrecisionDecimal, Relationship, RichText, Text] + enum: [Aggregation, Attachment, AutoIncrement, Boolean, Date, DateTime, Decimal, Encrypted, Formula, Integer, LongInteger, LongText, MultiselectPicklist, Picklist, PrecisionDecimal, Relationship, RichText, Text] type: string defaultValue: deprecated: true diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldConstants.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldConstants.java index 2cdb274d506511..4e0a7550113200 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldConstants.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldConstants.java @@ -14,6 +14,8 @@ public class ObjectFieldConstants { public static final String BUSINESS_TYPE_ATTACHMENT = "Attachment"; + public static final String BUSINESS_TYPE_AUTO_INCREMENT = "AutoIncrement"; + public static final String BUSINESS_TYPE_BOOLEAN = "Boolean"; public static final String BUSINESS_TYPE_DATE = "Date"; diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldSettingConstants.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldSettingConstants.java index 7dfba1d7de868d..7c78002f0575e2 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldSettingConstants.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/constants/ObjectFieldSettingConstants.java @@ -21,6 +21,8 @@ public class ObjectFieldSettingConstants { public static final String NAME_FILTERS = "filters"; + public static final String NAME_INITIAL_VALUE = "initialValue"; + public static final String NAME_MAX_FILE_SIZE = "maximumFileSize"; public static final String NAME_MAX_LENGTH = "maxLength"; @@ -31,6 +33,8 @@ public class ObjectFieldSettingConstants { public static final String NAME_OBJECT_RELATIONSHIP_ERC_OBJECT_FIELD_NAME = "objectRelationshipERCObjectFieldName"; + public static final String NAME_PREFIX = "prefix"; + public static final String NAME_SHOW_COUNTER = "showCounter"; public static final String NAME_SHOW_FILES_IN_DOCS_AND_MEDIA = @@ -41,6 +45,8 @@ public class ObjectFieldSettingConstants { public static final String NAME_STORAGE_DL_FOLDER_PATH = "storageDLFolderPath"; + public static final String NAME_SUFFIX = "suffix"; + public static final String NAME_TIME_STORAGE = "timeStorage"; public static final String NAME_UNIQUE_VALUES = "uniqueValues"; diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/exception/ObjectFieldSettingValueException.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/exception/ObjectFieldSettingValueException.java index d76576f923072b..81103a55169648 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/exception/ObjectFieldSettingValueException.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/exception/ObjectFieldSettingValueException.java @@ -16,6 +16,18 @@ */ public class ObjectFieldSettingValueException extends PortalException { + public static class ExceedsMaxLength + extends ObjectFieldSettingValueException { + + public ExceedsMaxLength(int maxLength, String objectFieldSettingName) { + super( + String.format( + "The setting %s exceeds the maximum length of %s", + objectFieldSettingName, maxLength)); + } + + } + public static class InvalidValue extends ObjectFieldSettingValueException { public InvalidValue( @@ -59,15 +71,6 @@ public MissingRequiredValues( } - public static class MustBeLessThan256Characters - extends ObjectFieldSettingValueException { - - public MustBeLessThan256Characters() { - super("Storage folder path must be less than 256 characters"); - } - - } - public static class UnmodifiableValue extends ObjectFieldSettingValueException { diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java new file mode 100644 index 00000000000000..b8db84d0c73022 --- /dev/null +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java @@ -0,0 +1,179 @@ +/** + * SPDX-FileCopyrightText: (c) 2023 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.object.internal.field.business.type; + +import com.liferay.object.constants.ObjectFieldConstants; +import com.liferay.object.constants.ObjectFieldSettingConstants; +import com.liferay.object.exception.ObjectFieldSettingValueException; +import com.liferay.object.field.business.type.ObjectFieldBusinessType; +import com.liferay.object.model.ObjectField; +import com.liferay.object.model.ObjectFieldSetting; +import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.language.Language; +import com.liferay.portal.kernel.log.Log; +import com.liferay.portal.kernel.log.LogFactoryUtil; +import com.liferay.portal.kernel.util.SetUtil; +import com.liferay.portal.kernel.util.Validator; +import com.liferay.portal.vulcan.extension.PropertyDefinition; + +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * @author Carolina Barbosa + */ +@Component( + property = "object.field.business.type.key=" + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT, + service = ObjectFieldBusinessType.class +) +public class AutoIncrementObjectFieldBusinessType + extends BaseObjectFieldBusinessType { + + @Override + public Set getAllowedObjectFieldSettingsNames() { + return SetUtil.fromArray( + ObjectFieldSettingConstants.NAME_PREFIX, + ObjectFieldSettingConstants.NAME_SUFFIX); + } + + @Override + public String getDBType() { + return ObjectFieldConstants.DB_TYPE_STRING; + } + + @Override + public String getDDMFormFieldTypeName() { + return null; + } + + @Override + public String getDescription(Locale locale) { + return _language.get( + locale, + "automatically-generates-a-unique-value-when-a-new-entry-is-" + + "added.-this-field-value-is-read-only"); + } + + @Override + public String getLabel(Locale locale) { + return _language.get(locale, "auto-increment"); + } + + @Override + public String getName() { + return ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT; + } + + @Override + public PropertyDefinition.PropertyType getPropertyType() { + return PropertyDefinition.PropertyType.TEXT; + } + + @Override + public Set getRequiredObjectFieldSettingsNames( + ObjectField objectField) { + + return Collections.singleton( + ObjectFieldSettingConstants.NAME_INITIAL_VALUE); + } + + public Set getUnmodifiableObjectFieldSettingsNames() { + return SetUtil.fromArray( + ObjectFieldSettingConstants.NAME_INITIAL_VALUE, + ObjectFieldSettingConstants.NAME_PREFIX, + ObjectFieldSettingConstants.NAME_SUFFIX); + } + + @Override + public void validateObjectFieldSettings( + ObjectField objectField, + List objectFieldSettings) + throws PortalException { + + super.validateObjectFieldSettings(objectField, objectFieldSettings); + + Map objectFieldSettingsValues = + getObjectFieldSettingsValues(objectFieldSettings); + + validateMaxLength( + _MAX_LENGTH, ObjectFieldSettingConstants.NAME_PREFIX, + objectFieldSettingsValues.get( + ObjectFieldSettingConstants.NAME_PREFIX)); + validateMaxLength( + _MAX_LENGTH, ObjectFieldSettingConstants.NAME_SUFFIX, + objectFieldSettingsValues.get( + ObjectFieldSettingConstants.NAME_SUFFIX)); + + _validatePattern( + objectField.getName(), ObjectFieldSettingConstants.NAME_PREFIX, + objectFieldSettingsValues.get( + ObjectFieldSettingConstants.NAME_PREFIX)); + _validatePattern( + objectField.getName(), ObjectFieldSettingConstants.NAME_SUFFIX, + objectFieldSettingsValues.get( + ObjectFieldSettingConstants.NAME_SUFFIX)); + + long initialValue = 0; + + try { + initialValue = Long.parseUnsignedLong( + objectFieldSettingsValues.get( + ObjectFieldSettingConstants.NAME_INITIAL_VALUE)); + } + catch (NumberFormatException numberFormatException) { + if (_log.isDebugEnabled()) { + _log.debug(numberFormatException); + } + } + + if (initialValue == 0) { + throw new ObjectFieldSettingValueException.InvalidValue( + objectField.getName(), + ObjectFieldSettingConstants.NAME_INITIAL_VALUE, + objectFieldSettingsValues.get( + ObjectFieldSettingConstants.NAME_INITIAL_VALUE)); + } + } + + private void _validatePattern( + String objectFieldName, String objectFieldSettingName, + String objectFieldSettingValue) + throws PortalException { + + if (Validator.isNull(objectFieldSettingValue)) { + return; + } + + Matcher matcher = _pattern.matcher(objectFieldSettingValue); + + if (matcher.matches()) { + return; + } + + throw new ObjectFieldSettingValueException.InvalidValue( + objectFieldName, objectFieldSettingName, objectFieldSettingValue); + } + + private static final int _MAX_LENGTH = 50; + + private static final Log _log = LogFactoryUtil.getLog( + AutoIncrementObjectFieldBusinessType.class); + + private static final Pattern _pattern = Pattern.compile( + "^[A-Za-z0-9\\s-\\/:,.\\(\\)\\[\\]\\{\\}#$%+]*$"); + + @Reference + private Language _language; + +} \ No newline at end of file diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/BaseObjectFieldBusinessType.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/BaseObjectFieldBusinessType.java index 80772c4b2854ce..cea075221d97c4 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/BaseObjectFieldBusinessType.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/BaseObjectFieldBusinessType.java @@ -86,6 +86,19 @@ protected void validateBooleanObjectFieldSetting( } } + protected void validateMaxLength( + int maxLength, String objectFieldSettingName, + String objectFieldSettingValue) + throws PortalException { + + if ((objectFieldSettingValue != null) && + (objectFieldSettingValue.length() > maxLength)) { + + throw new ObjectFieldSettingValueException.ExceedsMaxLength( + maxLength, objectFieldSettingName); + } + } + protected void validateNotAllowedObjectFieldSettingNames( Set notAllowedObjectFieldSettingNames, String objectFieldName, @@ -179,10 +192,8 @@ else if (Objects.equals( objectFieldSettingName, ObjectFieldSettingConstants.NAME_STORAGE_DL_FOLDER_PATH)) { - if (objectFieldSettingValue.length() > 255) { - throw new ObjectFieldSettingValueException. - MustBeLessThan256Characters(); - } + validateMaxLength( + 255, objectFieldSettingName, objectFieldSettingValue); for (String directoryName : StringUtil.split( From bd6cb86937a210cf63d4256cfac18f60f16b5d3d Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Tue, 24 Oct 2023 16:44:11 -0300 Subject: [PATCH 02/16] LPS-200156 Create new Auto Increment DDMFormField --- .../ObjectDDMFormFieldTypeConstants.java | 2 + .../AutoIncrementDDMFormFieldType.java | 49 +++++++++++++++++++ .../AutoIncrementObjectFieldBusinessType.java | 12 ++++- 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 modules/apps/object/object-dynamic-data-mapping-form-field-type/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/internal/auto/increment/AutoIncrementDDMFormFieldType.java diff --git a/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/constants/ObjectDDMFormFieldTypeConstants.java b/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/constants/ObjectDDMFormFieldTypeConstants.java index 6289ac3570e49a..7c0e5da7ed9aac 100644 --- a/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/constants/ObjectDDMFormFieldTypeConstants.java +++ b/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/constants/ObjectDDMFormFieldTypeConstants.java @@ -12,6 +12,8 @@ public class ObjectDDMFormFieldTypeConstants { public static final String ATTACHMENT = "attachment"; + public static final String AUTO_INCREMENT = "auto-increment"; + public static final String OBJECT_RELATIONSHIP = "object-relationship"; } \ No newline at end of file diff --git a/modules/apps/object/object-dynamic-data-mapping-form-field-type/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/internal/auto/increment/AutoIncrementDDMFormFieldType.java b/modules/apps/object/object-dynamic-data-mapping-form-field-type/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/internal/auto/increment/AutoIncrementDDMFormFieldType.java new file mode 100644 index 00000000000000..a0aa6c39970c31 --- /dev/null +++ b/modules/apps/object/object-dynamic-data-mapping-form-field-type/src/main/java/com/liferay/object/dynamic/data/mapping/form/field/type/internal/auto/increment/AutoIncrementDDMFormFieldType.java @@ -0,0 +1,49 @@ +/** + * SPDX-FileCopyrightText: (c) 2023 Liferay, Inc. https://liferay.com + * SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06 + */ + +package com.liferay.object.dynamic.data.mapping.form.field.type.internal.auto.increment; + +import com.liferay.dynamic.data.mapping.form.field.type.BaseDDMFormFieldType; +import com.liferay.dynamic.data.mapping.form.field.type.DDMFormFieldType; +import com.liferay.frontend.js.loader.modules.extender.npm.JSPackage; +import com.liferay.frontend.js.loader.modules.extender.npm.NPMResolver; +import com.liferay.object.dynamic.data.mapping.form.field.type.constants.ObjectDDMFormFieldTypeConstants; + +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * @author Carolina Barbosa + */ +@Component( + property = { + "ddm.form.field.type.name=" + ObjectDDMFormFieldTypeConstants.AUTO_INCREMENT, + "ddm.form.field.type.system=true" + }, + service = DDMFormFieldType.class +) +public class AutoIncrementDDMFormFieldType extends BaseDDMFormFieldType { + + @Override + public String getModuleName() { + JSPackage jsPackage = _npmResolver.getJSPackage(); + + return jsPackage.getResolvedId() + "/AutoIncrement/AutoIncrement"; + } + + @Override + public String getName() { + return ObjectDDMFormFieldTypeConstants.AUTO_INCREMENT; + } + + @Override + public boolean isCustomDDMFormFieldType() { + return true; + } + + @Reference + private NPMResolver _npmResolver; + +} \ No newline at end of file diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java index b8db84d0c73022..88b7596089c486 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java @@ -7,8 +7,10 @@ import com.liferay.object.constants.ObjectFieldConstants; import com.liferay.object.constants.ObjectFieldSettingConstants; +import com.liferay.object.dynamic.data.mapping.form.field.type.constants.ObjectDDMFormFieldTypeConstants; import com.liferay.object.exception.ObjectFieldSettingValueException; import com.liferay.object.field.business.type.ObjectFieldBusinessType; +import com.liferay.object.field.render.ObjectFieldRenderingContext; import com.liferay.object.model.ObjectField; import com.liferay.object.model.ObjectFieldSetting; import com.liferay.portal.kernel.exception.PortalException; @@ -54,7 +56,7 @@ public String getDBType() { @Override public String getDDMFormFieldTypeName() { - return null; + return ObjectDDMFormFieldTypeConstants.AUTO_INCREMENT; } @Override @@ -75,6 +77,14 @@ public String getName() { return ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT; } + @Override + public Map getProperties( + ObjectField objectField, + ObjectFieldRenderingContext objectFieldRenderingContext) { + + return Collections.emptyMap(); + } + @Override public PropertyDefinition.PropertyType getPropertyType() { return PropertyDefinition.PropertyType.TEXT; From 243e6a35ed9cd486b16c50363bd270cd8c30bfb1 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Tue, 24 Oct 2023 16:43:31 -0300 Subject: [PATCH 03/16] LPS-200156 Auto increment object field should not be supported by Forms --- .../resources/META-INF/resources/ObjectField/ObjectField.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-field-type/src/main/resources/META-INF/resources/ObjectField/ObjectField.js b/modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-field-type/src/main/resources/META-INF/resources/ObjectField/ObjectField.js index 2044370624b6ff..3ea45b9d8a5089 100644 --- a/modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-field-type/src/main/resources/META-INF/resources/ObjectField/ObjectField.js +++ b/modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-field-type/src/main/resources/META-INF/resources/ObjectField/ObjectField.js @@ -58,6 +58,10 @@ const ObjectField = ({ system, type, }) => { + if (businessType === 'AutoIncrement') { + return false; + } + if ( !listTypeDefinitionExternalReferenceCode && (focusedFieldType === 'radio' || From abf35d9cfefed948d9e041a1c8fa39f381da8584 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Thu, 26 Oct 2023 16:00:35 -0300 Subject: [PATCH 04/16] LPS-200156 Auto Increment object field value must always be unique --- .../object/model/impl/ObjectFieldImpl.java | 19 +++++++++++++++++++ .../ObjectDefinitionLocalServiceImpl.java | 9 +-------- .../impl/ObjectEntryLocalServiceImpl.java | 6 +----- .../impl/ObjectFieldLocalServiceImpl.java | 8 +------- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java index a9ae9787c2e6bb..a992915994dd6b 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java @@ -5,11 +5,15 @@ package com.liferay.object.model.impl; +import com.liferay.object.constants.ObjectFieldConstants; +import com.liferay.object.constants.ObjectFieldSettingConstants; +import com.liferay.object.field.setting.util.ObjectFieldSettingUtil; import com.liferay.object.field.util.ObjectFieldUtil; import com.liferay.object.model.ObjectDefinition; import com.liferay.object.model.ObjectFieldSetting; import com.liferay.object.service.ObjectDefinitionLocalServiceUtil; import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.Validator; import java.util.List; @@ -46,6 +50,21 @@ public List getObjectFieldSettings() { return _objectFieldSettings; } + @Override + public boolean hasUniqueValues() { + if (compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT) || + GetterUtil.getBoolean( + ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_UNIQUE_VALUES, + _objectFieldSettings))) { + + return true; + } + + return false; + } + @Override public boolean isDeletionAllowed() throws PortalException { if (Validator.isNotNull(getRelationshipType())) { diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectDefinitionLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectDefinitionLocalServiceImpl.java index 258293918a9a54..03cac4d8fd0b46 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectDefinitionLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectDefinitionLocalServiceImpl.java @@ -13,7 +13,6 @@ import com.liferay.layout.service.LayoutClassedModelUsageLocalService; import com.liferay.object.constants.ObjectDefinitionConstants; import com.liferay.object.constants.ObjectFieldConstants; -import com.liferay.object.constants.ObjectFieldSettingConstants; import com.liferay.object.constants.ObjectRelationshipConstants; import com.liferay.object.definition.tree.Edge; import com.liferay.object.definition.tree.Node; @@ -44,7 +43,6 @@ import com.liferay.object.exception.ObjectFieldRelationshipTypeException; import com.liferay.object.exception.RequiredObjectDefinitionException; import com.liferay.object.exception.RequiredObjectFieldException; -import com.liferay.object.field.setting.util.ObjectFieldSettingUtil; import com.liferay.object.field.util.ObjectFieldUtil; import com.liferay.object.internal.dao.db.ObjectDBManagerUtil; import com.liferay.object.internal.deployer.InactiveObjectDefinitionDeployerImpl; @@ -122,7 +120,6 @@ import com.liferay.portal.kernel.service.WorkflowInstanceLinkLocalService; import com.liferay.portal.kernel.systemevent.SystemEvent; import com.liferay.portal.kernel.transaction.TransactionCommitCallbackUtil; -import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.ListUtil; import com.liferay.portal.kernel.util.LocaleUtil; import com.liferay.portal.kernel.util.MethodHandler; @@ -1584,11 +1581,7 @@ private void _createTable( indexable = true; } - else if (GetterUtil.getBoolean( - ObjectFieldSettingUtil.getValue( - ObjectFieldSettingConstants.NAME_UNIQUE_VALUES, - objectField))) { - + else if (objectField.hasUniqueValues()) { indexable = true; unique = true; } diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java index cbb0634f9e36b6..7c7d2f91f7dbd7 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java @@ -4202,11 +4202,7 @@ private void _validateUniqueValueConstraintViolation( throws PortalException { for (ObjectField objectField : objectFields) { - if (!GetterUtil.getBoolean( - ObjectFieldSettingUtil.getValue( - ObjectFieldSettingConstants.NAME_UNIQUE_VALUES, - objectField))) { - + if (!objectField.hasUniqueValues()) { continue; } diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java index 048c134d1a5c8d..31028418ed386f 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java @@ -10,7 +10,6 @@ import com.liferay.dynamic.data.mapping.expression.DDMExpressionFactory; import com.liferay.object.constants.ObjectDefinitionConstants; import com.liferay.object.constants.ObjectFieldConstants; -import com.liferay.object.constants.ObjectFieldSettingConstants; import com.liferay.object.constants.ObjectRelationshipConstants; import com.liferay.object.definition.util.ObjectDefinitionUtil; import com.liferay.object.exception.DuplicateObjectFieldExternalReferenceCodeException; @@ -31,7 +30,6 @@ import com.liferay.object.exception.RequiredObjectFieldException; import com.liferay.object.field.business.type.ObjectFieldBusinessType; import com.liferay.object.field.business.type.ObjectFieldBusinessTypeRegistry; -import com.liferay.object.field.setting.util.ObjectFieldSettingUtil; import com.liferay.object.field.util.ObjectFieldUtil; import com.liferay.object.internal.dao.db.ObjectDBManagerUtil; import com.liferay.object.internal.field.setting.contributor.ObjectFieldSettingContributor; @@ -755,11 +753,7 @@ private void _addObjectFieldColumn( dbTableName, objectField.getDBColumnName(), objectField.getDBType())); - if (GetterUtil.getBoolean( - ObjectFieldSettingUtil.getValue( - ObjectFieldSettingConstants.NAME_UNIQUE_VALUES, - objectField))) { - + if (objectField.hasUniqueValues()) { ObjectDBManagerUtil.createIndexMetadata( _currentConnection.getConnection( objectFieldPersistence.getDataSource()), From 4fede3eba416a2cbdcc34aab8594b8a260cff9a6 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Thu, 26 Oct 2023 16:06:45 -0300 Subject: [PATCH 05/16] LPS-200156 Auto Increment object field should not be populated by update or create actions --- .../object/service/impl/ObjectActionLocalServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectActionLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectActionLocalServiceImpl.java index 1a9099a1307f36..40c83b30cde7d0 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectActionLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectActionLocalServiceImpl.java @@ -768,7 +768,10 @@ private void _validatePredefinedValues( ObjectField objectField = _objectFieldLocalService.fetchObjectField( objectDefinitionId, name); - if (objectField == null) { + if ((objectField == null) || + objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + predefinedValuesErrorMessageKeys.put(name, "invalid"); continue; From 08df46a4e69fc26dd7d79ed612e168de814e1482 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Wed, 25 Oct 2023 09:47:36 -0300 Subject: [PATCH 06/16] LPS-200156 Validate Auto Increment object field value --- .../impl/ObjectEntryLocalServiceImpl.java | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java index 7c7d2f91f7dbd7..19754ae72f35ad 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java @@ -3307,6 +3307,14 @@ private void _insertIntoTable( continue; } + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + _validateAutoIncrementValue( + objectField, + GetterUtil.getString(values.get(objectField.getName()))); + } + if (objectField.compareBusinessType( ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || objectField.compareBusinessType( @@ -3911,6 +3919,58 @@ private void _updateTable( } } + private void _validateAutoIncrementValue( + ObjectField objectField, String value) + throws PortalException { + + if (Validator.isNull(value)) { + return; + } + + String prefix = ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_PREFIX, objectField); + String suffix = ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_SUFFIX, objectField); + + if ((Validator.isNotNull(prefix) && + !StringUtil.startsWith(value, prefix)) || + (Validator.isNotNull(suffix) && + !StringUtil.endsWith(value, suffix))) { + + throw new ObjectEntryValuesException.InvalidValue( + objectField.getName()); + } + + String initialValue = ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_INITIAL_VALUE, objectField); + String sortableValue = StringUtil.removeLast( + StringUtil.removeFirst(value, prefix), suffix); + + if ((initialValue.length() > sortableValue.length()) || + ((initialValue.length() < sortableValue.length()) && + StringUtil.startsWith(sortableValue, CharPool.NUMBER_0))) { + + throw new ObjectEntryValuesException.InvalidValue( + objectField.getName()); + } + + long parsedValue = 0; + + try { + parsedValue = Long.parseUnsignedLong(sortableValue); + } + catch (NumberFormatException numberFormatException) { + if (_log.isDebugEnabled()) { + _log.debug(numberFormatException); + } + } + + if (parsedValue < GetterUtil.getLong(initialValue)) { + throw new ObjectEntryValuesException.InvalidValue( + objectField.getName()); + } + } + private void _validateExternalReferenceCode( String externalReferenceCode, long companyId, long objectDefinitionId, long objectEntryId) From 035fdc962257cc2d059cd6995f02392db1c44111 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Thu, 26 Oct 2023 16:45:55 -0300 Subject: [PATCH 07/16] LPS-200156 Auto Increment object field cannot be set by the end user to be required or readOnly --- .../impl/ObjectFieldLocalServiceImpl.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java index 31028418ed386f..fcff9ef301f4b4 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java @@ -674,6 +674,7 @@ private ObjectField _addObjectField( _validateName(0, objectDefinition, name, system); _validateReadOnlyAndReadOnlyConditionExpression( businessType, readOnly, readOnlyConditionExpression); + _validateRequired(0, businessType, required); _validateState(required, state); ObjectField objectField = objectFieldPersistence.create( @@ -1478,6 +1479,14 @@ private void _validateReadOnlyAndReadOnlyConditionExpression( return; } + if (Objects.equals( + businessType, + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT) && + !Objects.equals(readOnly, ObjectFieldConstants.READ_ONLY_FALSE)) { + + throw new ObjectFieldReadOnlyException(); + } + if (!(Objects.equals( readOnly, ObjectFieldConstants.READ_ONLY_CONDITIONAL) || Objects.equals(readOnly, ObjectFieldConstants.READ_ONLY_FALSE) || @@ -1516,6 +1525,14 @@ private void _validateRequired( long objectFieldId, String businessType, boolean required) throws PortalException { + if (Objects.equals( + businessType, + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT) && + required) { + + throw new ObjectFieldRequiredException(); + } + if (!StringUtil.equals( businessType, ObjectFieldConstants.BUSINESS_TYPE_RELATIONSHIP)) { @@ -1524,9 +1541,11 @@ private void _validateRequired( } ObjectRelationship objectRelationship = - _objectRelationshipPersistence.findByObjectFieldId2(objectFieldId); + _objectRelationshipPersistence.fetchByObjectFieldId2(objectFieldId); + + if ((objectRelationship != null) && objectRelationship.isEdge() && + !required) { - if (objectRelationship.isEdge() && !required) { throw new ObjectFieldRequiredException(); } } From 57b41677bad7a8f34b859312253642ef5371dac0 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Fri, 27 Oct 2023 11:32:32 -0300 Subject: [PATCH 08/16] LPS-200156 Make it possible to sort Auto Increment object field values --- .../sql/dsl/DynamicObjectDefinitionTable.java | 64 +++++++++++-------- .../dsl/expression/OrderByExpressionUtil.java | 18 ++++++ .../object/model/impl/ObjectFieldImpl.java | 18 ++++++ .../impl/ObjectEntryLocalServiceImpl.java | 64 +++++++++++++++---- .../impl/ObjectFieldLocalServiceImpl.java | 45 +++++++++---- 5 files changed, 155 insertions(+), 54 deletions(-) diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/petra/sql/dsl/DynamicObjectDefinitionTable.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/petra/sql/dsl/DynamicObjectDefinitionTable.java index 9033ec32dace8b..97b186f622a025 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/petra/sql/dsl/DynamicObjectDefinitionTable.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/petra/sql/dsl/DynamicObjectDefinitionTable.java @@ -42,22 +42,20 @@ public DynamicObjectDefinitionTable( Column.FLAG_PRIMARY); for (ObjectField objectField : objectFields) { - if (objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || - objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) || - objectField.isLocalized()) { - + if (!objectField.hasInsertValues() || objectField.isLocalized()) { continue; } - createColumn( - objectField.getDBColumnName(), - DynamicObjectDefinitionTableUtil.getJavaClass( - objectField.getDBType()), - DynamicObjectDefinitionTableUtil.getSQLType( - objectField.getDBType()), - Column.FLAG_DEFAULT); + _createColumn( + objectField.getDBColumnName(), objectField.getDBType()); + + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + _createColumn( + objectField.getSortableDBColumnName(), + ObjectFieldConstants.DB_TYPE_LONG); + } } } @@ -86,24 +84,19 @@ public String getCreateTableSQL() { sb.append(" LONG not null primary key"); for (ObjectField objectField : _objectFields) { - if (objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || - objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) || - objectField.isLocalized()) { - + if (!objectField.hasInsertValues() || objectField.isLocalized()) { continue; } - sb.append(", "); - sb.append(objectField.getDBColumnName()); - sb.append(" "); - sb.append( - DynamicObjectDefinitionTableUtil.getDataType( - objectField.getDBType())); - sb.append( - DynamicObjectDefinitionTableUtil.getSQLColumnNull( - objectField.getDBType())); + _append(sb, objectField.getDBColumnName(), objectField.getDBType()); + + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + _append( + sb, objectField.getSortableDBColumnName(), + ObjectFieldConstants.DB_TYPE_LONG); + } } sb.append(")"); @@ -141,6 +134,21 @@ protected Column createColumn( return super.createColumn(name, javaClass, sqlType, flags); } + private void _append(StringBundler sb, String dbColumnName, String dbType) { + sb.append(", "); + sb.append(dbColumnName); + sb.append(" "); + sb.append(DynamicObjectDefinitionTableUtil.getDataType(dbType)); + sb.append(DynamicObjectDefinitionTableUtil.getSQLColumnNull(dbType)); + } + + private void _createColumn(String dbColumnName, String dbType) { + createColumn( + dbColumnName, DynamicObjectDefinitionTableUtil.getJavaClass(dbType), + DynamicObjectDefinitionTableUtil.getSQLType(dbType), + Column.FLAG_DEFAULT); + } + private static final Log _log = LogFactoryUtil.getLog( DynamicObjectDefinitionTable.class); diff --git a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/petra/sql/dsl/expression/OrderByExpressionUtil.java b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/petra/sql/dsl/expression/OrderByExpressionUtil.java index 457bbb260ed8d4..cf0116b8de6d2e 100644 --- a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/petra/sql/dsl/expression/OrderByExpressionUtil.java +++ b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/petra/sql/dsl/expression/OrderByExpressionUtil.java @@ -5,10 +5,13 @@ package com.liferay.object.rest.internal.petra.sql.dsl.expression; +import com.liferay.object.constants.ObjectFieldConstants; +import com.liferay.object.model.ObjectField; import com.liferay.object.service.ObjectFieldLocalService; import com.liferay.petra.function.transform.TransformUtil; import com.liferay.petra.sql.dsl.Column; import com.liferay.petra.sql.dsl.DSLFunctionFactoryUtil; +import com.liferay.petra.sql.dsl.Table; import com.liferay.petra.sql.dsl.expression.Expression; import com.liferay.petra.sql.dsl.query.sort.OrderByExpression; import com.liferay.petra.string.CharPool; @@ -43,6 +46,21 @@ public static OrderByExpression[] getOrderByExpressions( fieldName = parts[1]; } + ObjectField objectField = + objectFieldLocalService.fetchObjectField( + objectDefinitionId, fieldName); + + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + Table table = objectFieldLocalService.getTable( + objectDefinitionId, fieldName); + + return _getOrderByExpression( + table.getColumn(objectField.getSortableDBColumnName()), + sort); + } + Column column = objectFieldLocalService.getColumn( objectDefinitionId, fieldName); diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java index a992915994dd6b..75476dda20a305 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java @@ -13,6 +13,7 @@ import com.liferay.object.model.ObjectFieldSetting; import com.liferay.object.service.ObjectDefinitionLocalServiceUtil; import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.search.Field; import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.Validator; @@ -50,6 +51,23 @@ public List getObjectFieldSettings() { return _objectFieldSettings; } + @Override + public String getSortableDBColumnName() { + return getDBColumnName() + Field.SORTABLE_FIELD_SUFFIX; + } + + @Override + public boolean hasInsertValues() { + if (compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || + compareBusinessType(ObjectFieldConstants.BUSINESS_TYPE_FORMULA)) { + + return false; + } + + return true; + } + @Override public boolean hasUniqueValues() { if (compareBusinessType( diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java index 19754ae72f35ad..1669207119dcee 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java @@ -2239,6 +2239,13 @@ else if (Objects.equals( return joinStep.where(predicate); } + private String _getAutoIncrementSortableValue( + String prefix, String suffix, Object value) { + + return StringUtil.removeLast( + StringUtil.removeFirst(String.valueOf(value), prefix), suffix); + } + private Map _getColumns(ObjectDefinition objectDefinition) { Map columns = new HashMap<>(); @@ -3303,7 +3310,7 @@ private void _insertIntoTable( dynamicObjectDefinitionTable.getObjectFields(); for (ObjectField objectField : objectFields) { - if (objectField.isLocalized()) { + if (!objectField.hasInsertValues() || objectField.isLocalized()) { continue; } @@ -3313,14 +3320,18 @@ private void _insertIntoTable( _validateAutoIncrementValue( objectField, GetterUtil.getString(values.get(objectField.getName()))); - } - if (objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || - objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) || - !values.containsKey(objectField.getName())) { + sb.append(", "); + sb.append(objectField.getDBColumnName()); + sb.append(", "); + sb.append(objectField.getSortableDBColumnName()); + + count += 2; + + continue; + } + if (!values.containsKey(objectField.getName())) { if (objectField.isRequired() && (workflowAction != WorkflowConstants.ACTION_SAVE_DRAFT)) { @@ -3378,16 +3389,41 @@ private void _insertIntoTable( _setColumn(preparedStatement, index++, Types.BIGINT, objectEntryId); for (ObjectField objectField : objectFields) { - if (objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || - objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) || - !values.containsKey(objectField.getName()) || + if (!objectField.hasInsertValues() || objectField.isLocalized()) { continue; } + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + _setColumn( + dynamicObjectDefinitionTable, index++, objectField, + preparedStatement, values); + + Column column = + dynamicObjectDefinitionTable.getColumn( + objectField.getSortableDBColumnName()); + + _setColumn( + preparedStatement, index++, column.getSQLType(), + _getAutoIncrementSortableValue( + ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_PREFIX, + objectField), + ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_SUFFIX, + objectField), + values.get(objectField.getName()))); + + continue; + } + + if (!values.containsKey(objectField.getName())) { + continue; + } + _setColumn( dynamicObjectDefinitionTable, index++, objectField, preparedStatement, values); @@ -3943,8 +3979,8 @@ private void _validateAutoIncrementValue( String initialValue = ObjectFieldSettingUtil.getValue( ObjectFieldSettingConstants.NAME_INITIAL_VALUE, objectField); - String sortableValue = StringUtil.removeLast( - StringUtil.removeFirst(value, prefix), suffix); + String sortableValue = _getAutoIncrementSortableValue( + prefix, suffix, value); if ((initialValue.length() > sortableValue.length()) || ((initialValue.length() < sortableValue.length()) && diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java index fcff9ef301f4b4..854971cab5ffc0 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java @@ -754,6 +754,15 @@ private void _addObjectFieldColumn( dbTableName, objectField.getDBColumnName(), objectField.getDBType())); + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + runSQL( + DynamicObjectDefinitionTableUtil.getAlterTableAddColumnSQL( + dbTableName, objectField.getSortableDBColumnName(), + ObjectFieldConstants.DB_TYPE_LONG)); + } + if (objectField.hasUniqueValues()) { ObjectDBManagerUtil.createIndexMetadata( _currentConnection.getConnection( @@ -967,25 +976,37 @@ else if (!deleteRelationshipObjectField) { _objectViewLocalService.unassociateObjectField(objectField); - if (objectDefinition.isApproved() && - !objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) && - !objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) && - !Objects.equals(objectField.getDBTableName(), "ObjectEntry") && - !objectField.isLocalized()) { - - _alterTableDropColumn( - objectField.getDBTableName(), objectField.getDBColumnName()); + if (!objectDefinition.isApproved()) { + return objectField; } - if (objectDefinition.isApproved() && - objectDefinition.isEnableLocalization() && + if (objectDefinition.isEnableLocalization() && objectField.isLocalized()) { _alterTableDropColumn( objectDefinition.getLocalizationDBTableName(), objectField.getDBColumnName()); + + return objectField; + } + + if (!objectField.hasInsertValues() || + Objects.equals( + objectField.getDBTableName(), + ObjectEntryTable.INSTANCE.getTableName())) { + + return objectField; + } + + _alterTableDropColumn( + objectField.getDBTableName(), objectField.getDBColumnName()); + + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + _alterTableDropColumn( + objectField.getDBTableName(), + objectField.getSortableDBColumnName()); } return objectField; From 6073f84dfd3321685512ffd4da16ce2016e68876 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Fri, 27 Oct 2023 14:20:09 -0300 Subject: [PATCH 09/16] LPS-200156 No need to update Auto Increment object field values --- .../object/model/impl/ObjectFieldImpl.java | 13 +++++++++++++ .../impl/ObjectEntryLocalServiceImpl.java | 16 ++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java index 75476dda20a305..fd43e68765e240 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/model/impl/ObjectFieldImpl.java @@ -83,6 +83,19 @@ public boolean hasUniqueValues() { return false; } + public boolean hasUpdateValues() { + if (compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || + compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT) || + compareBusinessType(ObjectFieldConstants.BUSINESS_TYPE_FORMULA)) { + + return false; + } + + return true; + } + @Override public boolean isDeletionAllowed() throws PortalException { if (Validator.isNotNull(getRelationshipType())) { diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java index 1669207119dcee..e99e1db5b92065 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java @@ -3835,12 +3835,7 @@ private void _updateTable( dynamicObjectDefinitionTable.getObjectFields(); for (ObjectField objectField : objectFields) { - if (objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || - objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) || - objectField.isLocalized()) { - + if (!objectField.hasUpdateValues() || objectField.isLocalized()) { continue; } @@ -3919,12 +3914,9 @@ private void _updateTable( int index = 1; for (ObjectField objectField : objectFields) { - if (objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_AGGREGATION) || - objectField.compareBusinessType( - ObjectFieldConstants.BUSINESS_TYPE_FORMULA) || - !values.containsKey(objectField.getName()) || - objectField.isLocalized()) { + if (!objectField.hasUpdateValues() || + objectField.isLocalized() || + !values.containsKey(objectField.getName())) { continue; } From 23e242defcc2cbb31cef7298dd4634631ae64a4f Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Fri, 27 Oct 2023 09:12:39 -0300 Subject: [PATCH 10/16] LPS-200156 Add language keys --- .../src/main/resources/content/Language.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language.properties index 5a5cc8d5129134..3c2a4eda5a1049 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create auto-deploy=Auto Deploy auto-deploy-is-not-enabled=Auto deploy is not enabled. auto-extend-session-enabled=Auto Extend Session Enabled +auto-increment=Auto Increment auto-insurance-application=Auto Insurance Application auto-mapping=Auto Mapping auto-translate=Auto Translate @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. automatic-unlocking=Automatic Unlocking +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. automatically-resolved=Automatically Resolved autoplay=Autoplay From b1e2e413c7e559a753e96ac7e42647a09d7781e0 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Fri, 27 Oct 2023 09:13:21 -0300 Subject: [PATCH 11/16] LPS-200156 buildLang --- .../src/main/resources/content/Language_ar.properties | 2 ++ .../src/main/resources/content/Language_bg.properties | 2 ++ .../src/main/resources/content/Language_ca.properties | 2 ++ .../src/main/resources/content/Language_cs.properties | 2 ++ .../src/main/resources/content/Language_da.properties | 2 ++ .../src/main/resources/content/Language_de.properties | 2 ++ .../src/main/resources/content/Language_el.properties | 2 ++ .../src/main/resources/content/Language_en.properties | 2 ++ .../src/main/resources/content/Language_en_AU.properties | 2 ++ .../src/main/resources/content/Language_en_GB.properties | 2 ++ .../src/main/resources/content/Language_es.properties | 2 ++ .../src/main/resources/content/Language_es_AR.properties | 2 ++ .../src/main/resources/content/Language_es_CO.properties | 2 ++ .../src/main/resources/content/Language_es_MX.properties | 2 ++ .../src/main/resources/content/Language_et.properties | 2 ++ .../src/main/resources/content/Language_eu.properties | 2 ++ .../src/main/resources/content/Language_fa.properties | 2 ++ .../src/main/resources/content/Language_fi.properties | 2 ++ .../src/main/resources/content/Language_fr.properties | 2 ++ .../src/main/resources/content/Language_fr_CA.properties | 2 ++ .../src/main/resources/content/Language_gl.properties | 2 ++ .../src/main/resources/content/Language_hi_IN.properties | 2 ++ .../src/main/resources/content/Language_hr.properties | 2 ++ .../src/main/resources/content/Language_hu.properties | 2 ++ .../src/main/resources/content/Language_in.properties | 2 ++ .../src/main/resources/content/Language_it.properties | 2 ++ .../src/main/resources/content/Language_iw.properties | 2 ++ .../src/main/resources/content/Language_ja.properties | 2 ++ .../src/main/resources/content/Language_kk.properties | 2 ++ .../src/main/resources/content/Language_km.properties | 2 ++ .../src/main/resources/content/Language_ko.properties | 2 ++ .../src/main/resources/content/Language_lo.properties | 2 ++ .../src/main/resources/content/Language_lt.properties | 2 ++ .../src/main/resources/content/Language_ms.properties | 2 ++ .../src/main/resources/content/Language_nb.properties | 2 ++ .../src/main/resources/content/Language_nl.properties | 2 ++ .../src/main/resources/content/Language_nl_BE.properties | 2 ++ .../src/main/resources/content/Language_pl.properties | 2 ++ .../src/main/resources/content/Language_pt_BR.properties | 2 ++ .../src/main/resources/content/Language_pt_PT.properties | 2 ++ .../src/main/resources/content/Language_ro.properties | 2 ++ .../src/main/resources/content/Language_ru.properties | 2 ++ .../src/main/resources/content/Language_sk.properties | 2 ++ .../src/main/resources/content/Language_sl.properties | 2 ++ .../src/main/resources/content/Language_sr_RS.properties | 2 ++ .../src/main/resources/content/Language_sr_RS_latin.properties | 2 ++ .../src/main/resources/content/Language_sv.properties | 2 ++ .../src/main/resources/content/Language_ta_IN.properties | 2 ++ .../src/main/resources/content/Language_th.properties | 2 ++ .../src/main/resources/content/Language_tr.properties | 2 ++ .../src/main/resources/content/Language_uk.properties | 2 ++ .../src/main/resources/content/Language_vi.properties | 2 ++ .../src/main/resources/content/Language_zh_CN.properties | 2 ++ .../src/main/resources/content/Language_zh_TW.properties | 2 ++ 54 files changed, 108 insertions(+) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ar.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ar.properties index c25a98da05b9e7..8193f9135cf97d 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ar.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ar.properties @@ -2313,6 +2313,7 @@ auto-create=إنشاء تلقائي auto-deploy=التنصيب التلقائي auto-deploy-is-not-enabled=التنصيب التلقائي غير مفعل. auto-extend-session-enabled=تمكين تلقائي للجلسة الممتدة +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=تطبيق التأمين التلقائي auto-mapping=تعيين تلقائي auto-translate=ترجمة تلقائية @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=سيتم نشر التغييرات فورًا automatic-replication-enabled=تمكين النسخ التلقائي automatic-replication-enabled-help=تمكين أو تعطيل الإنشاء التلقائي لفهارس المتابعين في نُظم مجموعات Elasticsearch المحلية عند تمكين القراءة من نُظم المعلومات المحلية. قم بتعطيل هذا الإعداد في إحالة إدارة النسخ يدويًا عن طريق Elasticsearch. automatic-unlocking=إلغاء قفل تلقائي +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=ربط إدخالات الكائن تلقائيًا المشتركة في الإجراء. automatically-resolved=تم حلها تلقائيًا autoplay=تشغيل تلقائي diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_bg.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_bg.properties index 10f187f125354c..b73ec328cc674a 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_bg.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_bg.properties @@ -2313,6 +2313,7 @@ auto-create=Автоматично създаване (Automatic Translation) auto-deploy=Автоматично разгръщане auto-deploy-is-not-enabled=Автоматичното разгръщане не е позволено. auto-extend-session-enabled=Автоматично разширяване на сесията е разрешена (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Авто-застраховка (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Автоматично превеждане (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Промените ще се разпрост automatic-replication-enabled=Активирано автоматично реплики (Automatic Translation) automatic-replication-enabled-help=Разрешаване или забраняване на автоматично създаване и изтриване на индекси на последовател в локалната Elasticsearch клъстери при четене от локални клъстери е разрешена. Забрани тази настройка, ако репликация ще се управлява ръчно чрез Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Автоматично решено (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ca.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ca.properties index 57e2819179479e..c52acbe6a0bd32 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ca.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ca.properties @@ -2313,6 +2313,7 @@ auto-create=Creació automàtica auto-deploy=Implementació automàtica auto-deploy-is-not-enabled=La implementació automàtica no està activada. auto-extend-session-enabled=S'ha habilitat la sessió d'ampliació automàtica +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aplicació d'assegurança d'automòbil auto-mapping=Mapatge automàtic auto-translate=Tradueix automàticament @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Els canvis es propagaran immediatament a tote automatic-replication-enabled=S'ha habilitat la replicació automàtica automatic-replication-enabled-help=Activa o desactiva la creació automàtica d'índexs de seguidors als clústers locals d'Elasticsearch quan Llegeix als clústers locals està activat. Desactiveu aquesta opció de configuració si la replicació es gestionarà manualment a través d'Elasticsearch. automatic-unlocking=Desbloqueig automàtic +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relaciona automàticament les entrades d'objecte implicades en l'acció. automatically-resolved=S'ha resolt automàticament autoplay=Reproducció automàtica diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_cs.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_cs.properties index 30eeb88d8ec4cc..43645cb20e8d8d 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_cs.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_cs.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Automatická instalace auto-deploy-is-not-enabled=Automatická instalace nebyla povolena. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_da.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_da.properties index 20868335bd12da..cd28f7702d0a38 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_da.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_da.properties @@ -2313,6 +2313,7 @@ auto-create=Opret automatisk (Automatic Translation) auto-deploy=Auto Deploy (Automatic Copy) auto-deploy-is-not-enabled=Auto deploy is not enabled. (Automatic Copy) auto-extend-session-enabled=Automatisk udvidelse af session aktiveret (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Ansøgning om bilforsikring (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Oversæt automatisk (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Ændringer overføres straks til alle fragmen automatic-replication-enabled=Automatisk replikering er aktiveret (Automatic Translation) automatic-replication-enabled-help=Aktiver eller deaktiver automatisk oprettelse og sletning af følgerindeks i de lokale Elasticsearch-klynger, når Læsning fra lokale klynger er aktiveret. Deaktiver denne indstilling, hvis replikering skal administreres manuelt via Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatisk løst (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_de.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_de.properties index 178ba36a192c4a..492c48c7666141 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_de.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_de.properties @@ -2313,6 +2313,7 @@ auto-create=Automatisch erstellen auto-deploy=Autodeploy auto-deploy-is-not-enabled=Autodeploy ist nicht aktiviert. auto-extend-session-enabled=Automatische Verlängerung der Sitzung aktiviert +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Anwendung Autoversicherung auto-mapping=Automatische Zuordnung auto-translate=Automatisch übersetzen @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Änderungen werden sofort nach der Veröffent automatic-replication-enabled=Automatische Replikation aktiviert automatic-replication-enabled-help=Aktivieren oder deaktivieren Sie die automatische Erstellung von Follower-Indizes in den lokalen Elasticsearch-Clustern, wenn "Lesen aus lokalen Clustern" aktiviert ist. Deaktivieren Sie diese Einstellung, wenn die Replikation manuell über Elasticsearch verwaltet werden soll. automatic-unlocking=Automatisches Entsperren +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatisch die Objekteinträge verknüpfen, die an der Aktion beteiligt sind. automatically-resolved=Automatisch gelöst autoplay=Automatische Wiedergabe diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_el.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_el.properties index c06d76579186af..d78139fb25bf2f 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_el.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_el.properties @@ -2313,6 +2313,7 @@ auto-create=Αυτόματη δημιουργία (Automatic Translation) auto-deploy=Αυτόματο deployment auto-deploy-is-not-enabled=Το αυτόματο deployment δεν είναι ενεργό. auto-extend-session-enabled=Ενεργοποιημένη αυτόματη επέκταση περιόδου λειτουργίας (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Εφαρμογή Αυτόματης Ασφάλισης (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Αυτόματη μετάφραση (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Οι αλλαγές θα μεταδοθεί automatic-replication-enabled=Η αυτόματη αναπαραγωγή είναι ενεργοποιημένη (Automatic Translation) automatic-replication-enabled-help=Ενεργοποιήστε ή απενεργοποιήστε την αυτόματη δημιουργία και διαγραφή ευρετηρίων οπαδών στα τοπικά συμπλέγματα Elasticsearch όταν είναι ενεργοποιημένη η επιλογή Ανάγνωση από τοπικά συμπλέγματα. Απενεργοποιήστε αυτήν τη ρύθμιση εάν η διαχείριση της αναπαραγωγής θα γίνει με μη αυτόματο τρόπο μέσω του Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Αυτόματη επίλυση (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en.properties index 5a5cc8d5129134..3c2a4eda5a1049 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create auto-deploy=Auto Deploy auto-deploy-is-not-enabled=Auto deploy is not enabled. auto-extend-session-enabled=Auto Extend Session Enabled +auto-increment=Auto Increment auto-insurance-application=Auto Insurance Application auto-mapping=Auto Mapping auto-translate=Auto Translate @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. automatic-unlocking=Automatic Unlocking +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. automatically-resolved=Automatically Resolved autoplay=Autoplay diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_AU.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_AU.properties index 526b247cef6751..4857f276da64cd 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_AU.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_AU.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Auto Deploy (Automatic Copy) auto-deploy-is-not-enabled=Auto deploy is not enabled. (Automatic Copy) auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_GB.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_GB.properties index e1a52854535a9a..c1a8cad883be0b 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_GB.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_en_GB.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Auto Deploy (Automatic Copy) auto-deploy-is-not-enabled=Auto deploy is not enabled. (Automatic Copy) auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es.properties index b89b7157cecd77..27a5f9d7599d83 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es.properties @@ -2313,6 +2313,7 @@ auto-create=Creación automática auto-deploy=Despliegue automático auto-deploy-is-not-enabled=El despliegue automático no está activado. auto-extend-session-enabled=Extensión automática de la sesión habilitada +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Solicitud de seguro de automóvil auto-mapping=Asignación automática auto-translate=Traducir automáticamente @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Los cambios se propagarán de inmediato a tod automatic-replication-enabled=Replicación automática habilitada automatic-replication-enabled-help=Esta opción habilita o deshabilita la creación y eliminación automáticas de índices de seguidores en los clústeres de Elasticsearch locales cuando se activa la opción «Leer desde clústeres locales». Deshabilite esta opción si la replicación se gestionará de forma manual mediante Elasticsearch. automatic-unlocking=Desbloqueo automático +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relaciona automáticamente entradas de objetos que tengan que ver con la acción. automatically-resolved=Solucionado automáticamente autoplay=Reproducción automática diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_AR.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_AR.properties index e3ad1dea91a35c..61a5ec22ae629e 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_AR.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_AR.properties @@ -2313,6 +2313,7 @@ auto-create=Creación automática auto-deploy=Despliegue automático auto-deploy-is-not-enabled=El despliegue automático no está activado. auto-extend-session-enabled=Extensión automática de la sesión habilitada +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Solicitud de seguro de automóvil auto-mapping=Asignación automática auto-translate=Traducir automáticamente @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Los cambios se propagarán de inmediato a tod automatic-replication-enabled=Replicación automática habilitada automatic-replication-enabled-help=Esta opción habilita o deshabilita la creación y eliminación automáticas de índices de seguidores en los clústeres de Elasticsearch locales cuando se activa la opción «Leer desde clústeres locales». Deshabilite esta opción si la replicación se gestionará de forma manual mediante Elasticsearch. automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relaciona automáticamente entradas de objetos que tengan que ver con la acción. automatically-resolved=Solucionado automáticamente autoplay=Reproducción automática diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_CO.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_CO.properties index e3ad1dea91a35c..61a5ec22ae629e 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_CO.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_CO.properties @@ -2313,6 +2313,7 @@ auto-create=Creación automática auto-deploy=Despliegue automático auto-deploy-is-not-enabled=El despliegue automático no está activado. auto-extend-session-enabled=Extensión automática de la sesión habilitada +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Solicitud de seguro de automóvil auto-mapping=Asignación automática auto-translate=Traducir automáticamente @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Los cambios se propagarán de inmediato a tod automatic-replication-enabled=Replicación automática habilitada automatic-replication-enabled-help=Esta opción habilita o deshabilita la creación y eliminación automáticas de índices de seguidores en los clústeres de Elasticsearch locales cuando se activa la opción «Leer desde clústeres locales». Deshabilite esta opción si la replicación se gestionará de forma manual mediante Elasticsearch. automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relaciona automáticamente entradas de objetos que tengan que ver con la acción. automatically-resolved=Solucionado automáticamente autoplay=Reproducción automática diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_MX.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_MX.properties index e3ad1dea91a35c..61a5ec22ae629e 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_MX.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_es_MX.properties @@ -2313,6 +2313,7 @@ auto-create=Creación automática auto-deploy=Despliegue automático auto-deploy-is-not-enabled=El despliegue automático no está activado. auto-extend-session-enabled=Extensión automática de la sesión habilitada +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Solicitud de seguro de automóvil auto-mapping=Asignación automática auto-translate=Traducir automáticamente @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Los cambios se propagarán de inmediato a tod automatic-replication-enabled=Replicación automática habilitada automatic-replication-enabled-help=Esta opción habilita o deshabilita la creación y eliminación automáticas de índices de seguidores en los clústeres de Elasticsearch locales cuando se activa la opción «Leer desde clústeres locales». Deshabilite esta opción si la replicación se gestionará de forma manual mediante Elasticsearch. automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relaciona automáticamente entradas de objetos que tengan que ver con la acción. automatically-resolved=Solucionado automáticamente autoplay=Reproducción automática diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_et.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_et.properties index 53988c5be95e65..cb87f3588752c0 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_et.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_et.properties @@ -2313,6 +2313,7 @@ auto-create=Automaatne loomine (Automatic Translation) auto-deploy=Automaatne deploy auto-deploy-is-not-enabled=Automaatset deploy'd ei lubata. auto-extend-session-enabled=Seansi automaatne laiendamine on lubatud (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Automaatne kindlustustaotlus (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Automaatne tõlkimine (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Muudatused levitatakse kohe kõigile fragmend automatic-replication-enabled=Automaatne tiražeerimine on lubatud (Automatic Translation) automatic-replication-enabled-help=Lubage või keelake järgimisindeksite automaatne loomine ja kustutamine kohalikes Elasticsearch klastrites, kui kohalikest klastritest lugemine on lubatud. Keelake see säte, kui replikatsiooni hallatakse käsitsi Läbi Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automaatselt lahendatud (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_eu.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_eu.properties index aa7a8d0fd9fefb..033e52cb65b459 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_eu.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_eu.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Hedapen automatikoa auto-deploy-is-not-enabled=Hedapen automatikoa ez dago aktibatuta. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fa.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fa.properties index ae1290d76e46c7..14fe8b3de25bbe 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fa.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fa.properties @@ -2313,6 +2313,7 @@ auto-create=ایجاد خودکار (Automatic Translation) auto-deploy=نسب خودکار auto-deploy-is-not-enabled=نصب خودکار فعال نیست auto-extend-session-enabled=تمدید خودکار جلسه فعال (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=درخواست بیمه خودکار (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=ترجمه خودکار (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=تغییرات بلافاصله به تمام automatic-replication-enabled=تکرار خودکار فعال (Automatic Translation) automatic-replication-enabled-help=فعال کردن یا غیر فعال کردن ایجاد خودکار و حذف شاخص های دنبال کننده در خوشه های محلی Elasticsearch هنگامی که از خوشه های محلی خوانده شده است فعال است. اگر تکرار به صورت دستی از طریق Elasticsearch مدیریت شود، این تنظیم را غیرفعال کنید. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=به طور خودکار حل و فصل (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fi.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fi.properties index e4d96ffb05ca3e..cb3211fc1b07c7 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fi.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fi.properties @@ -2313,6 +2313,7 @@ auto-create=Automaattinen Luonti auto-deploy=Automaattiasennus auto-deploy-is-not-enabled=Automaattiasennus ei ole päällä. auto-extend-session-enabled=Automaattinen Session Laajennus Käytössä +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Automaattinen Vakuutussovellus auto-mapping=Automaattinen kartoitus auto-translate=Automaattinen Käännös @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Muutokset levitetään välittömästi kaikki automatic-replication-enabled=Automaattinen Kopiointi Käytössä automatic-replication-enabled-help=Ota käyttöön tai poista käytöstä seuraajaindeksien automaattinen luonti paikallisessa Elasticsearch-klusterissa, kun Lue paikallisista klustereista on käytössä. Poista tämä asetus käytöstä, jos kopiointia hallitaan manuaalisesti Elasticsearchista. automatic-unlocking=Automaattinen lukituksen poisto +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Liitä automaattisesti toimintoon liittyvät objektimerkinnät. automatically-resolved=Automaattisesti Ratkaistu autoplay=Automaattinen toisto diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr.properties index a2d918ce218df7..d0d9d133f11131 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr.properties @@ -2313,6 +2313,7 @@ auto-create=Créer automatiquement auto-deploy=Déploiement automatique auto-deploy-is-not-enabled=Le déploiement automatique n'est pas activé. auto-extend-session-enabled=Étendre automatiquement la session activé +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Demande d'assurance auto auto-mapping=Cartographie automatique auto-translate=Traduire automatiquement @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Les modifications seront immédiatement diffu automatic-replication-enabled=Réplication automatique activée automatic-replication-enabled-help=Activez ou désactivez la création automatique d'index suiveurs dans les clusters Elasticsearch locaux lorsque Lire à partir de clusters locaux est activé. Désactivez ce paramètre si la réplication sera gérée manuellement via Elasticsearch. automatic-unlocking=Déverrouillage automatique +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Associez automatiquement les entrées d'objet impliquées dans l'action. automatically-resolved=Résolution automatique autoplay=Lecture automatique diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr_CA.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr_CA.properties index d927664d265b71..b59c05f099fbec 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr_CA.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_fr_CA.properties @@ -2313,6 +2313,7 @@ auto-create=Créer automatiquement auto-deploy=Déploiement automatique auto-deploy-is-not-enabled=Le déploiement automatique n'est pas activé. auto-extend-session-enabled=Étendre automatiquement la session activé +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Demande d'assurance auto auto-mapping=Cartographie automatique auto-translate=Traduire automatiquement @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Les modifications seront immédiatement diffu automatic-replication-enabled=Réplication automatique activée automatic-replication-enabled-help=Activez ou désactivez la création automatique d'index suiveurs dans les clusters Elasticsearch locaux lorsque Lire à partir de clusters locaux est activé. Désactivez ce paramètre si la réplication sera gérée manuellement via Elasticsearch. automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Résolution automatique autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_gl.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_gl.properties index fb342358986c9f..17ee0180b6e096 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_gl.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_gl.properties @@ -2313,6 +2313,7 @@ auto-create=Creación automática auto-deploy=Despregue automático auto-deploy-is-not-enabled=O despregue automático non está activado. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hi_IN.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hi_IN.properties index 819854c4b9e197..f907cdb1a80419 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hi_IN.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hi_IN.properties @@ -2313,6 +2313,7 @@ auto-create=ऑटो बनाएं (Automatic Translation) auto-deploy=ऑटो डिप्लाय auto-deploy-is-not-enabled=ऑटो डिप्लाय सक्रिय नहीं है. auto-extend-session-enabled=ऑटो विस्तार सत्र सक्षम (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=ऑटो बीमा आवेदन (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=ऑटो अनुवाद (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=इस खंड प्रविष्टि automatic-replication-enabled=स्वचालित प्रतिकृति सक्षम (Automatic Translation) automatic-replication-enabled-help=स्थानीय समूहों से पढ़ने पर स्थानीय लोचदार खोज समूहों में अनुयायी अनुक्रमित के स्वचालित निर्माण और विलोपन को सक्षम या अक्षम कर दिया जाता है। यदि प्रतिकृति को लोचदार खोज के माध्यम से मैन्युअल रूप से प्रबंधित किया जाएगा तो इस सेटिंग को अक्षम करें। (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=स्वचालित रूप से हल किया गया autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hr.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hr.properties index 06de609af5abfe..c6fba040887564 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hr.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hr.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Automatsko uvođenje auto-deploy-is-not-enabled=Automatsko uvođenje nije omogućeno. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hu.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hu.properties index 5b907d17222f59..d41080a5ec17e9 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hu.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_hu.properties @@ -2313,6 +2313,7 @@ auto-create=Automatikus létrehozás auto-deploy=Automatikus telepítés auto-deploy-is-not-enabled=Automatikus telepítés nem engedélyezett. auto-extend-session-enabled=Munkamenet automatikus meghosszabbítása engedélyezve +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Automatikus biztosítás alkalmazása auto-mapping=Automatikus leképezés auto-translate=Automatikus fordítás @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=A változások a töredékbejegyzés közzét automatic-replication-enabled=Automatikus replikáció engedélyezve automatic-replication-enabled-help=Engedélyezze vagy tiltsa le a követők indexének automatikus létrehozását és törlését a helyi Elasticsearch-fürtökben, ha az Olvasás helyi fürtökből lehetőség engedélyezve van. Tiltsa le ezt a beállítást, ha a replikálás kezelése az Elasticsearch útján történik majd. automatic-unlocking=Automatikus feloldás +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=A műveletben szereplő objektumbejegyzések automatikus kapcsolása. automatically-resolved=Automatikusan megoldva autoplay=Automatikus lejátszás diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_in.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_in.properties index 7f5405a52bf03f..289c4a3a995531 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_in.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_in.properties @@ -2313,6 +2313,7 @@ auto-create=Buat Otomatis (Automatic Translation) auto-deploy=Penyebaran otomatis auto-deploy-is-not-enabled=Penyebaran otomatis tidak diaktifkan. auto-extend-session-enabled=Otomatis memperpanjang sesi diaktifkan (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aplikasi Asuransi Mobil (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Terjemahkan Otomatis (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Perubahan akan segera disebarkan ke semua pen automatic-replication-enabled=Replikasi Otomatis Diaktifkan (Automatic Translation) automatic-replication-enabled-help=Mengaktifkan atau menonaktifkan pembuatan otomatis dan penghapusan indeks pengikut di kluster Elasticsearch lokal saat Baca dari Kluster Lokal diaktifkan. Nonaktifkan pengaturan ini jika replikasi akan dikelola secara manual melalui Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Diselesaikan Secara Otomatis (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_it.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_it.properties index 8b8f5b53df3c17..4903b8a00c668e 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_it.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_it.properties @@ -2312,6 +2312,7 @@ auto-create=Creazione automatica (Automatic Translation) auto-deploy=Auto Deploy auto-deploy-is-not-enabled=Auto deploy non abilitato. auto-extend-session-enabled=Sessione Di estensione automatica abilitata (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Applicazione di assicurazione automatica (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Traduzione automatica (Automatic Translation) @@ -2339,6 +2340,7 @@ automatic-propagation-enabled-help=Le modifiche verranno propagate immediatament automatic-replication-enabled=Replica automatica abilitata (Automatic Translation) automatic-replication-enabled-help=Abilitare o disabilitare la creazione automatica e l'eliminazione di indici follower nei cluster Elasticsearch locali quando è abilitata la lettura da cluster locali. Disabilitare questa impostazione se la replica verrà gestita manualmente tramite Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Risolto automaticamente (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_iw.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_iw.properties index 3ecaedec8d6e12..83f0c1bebcde71 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_iw.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_iw.properties @@ -2313,6 +2313,7 @@ auto-create=צור אוטומטית auto-deploy=פריסה אוטומטית auto-deploy-is-not-enabled=פריסה אוטומטית לא מאופשרת auto-extend-session-enabled=הרחבת הפעלה אוטומטית זמינה (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=יישום ביטוח רכב (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=תרגום אוטומטי (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=שינויים יופצו באופן מייד automatic-replication-enabled=שכפול אוטומטי זמין (Automatic Translation) automatic-replication-enabled-help=הפוך יצירה ומחיקה אוטומטיות של אינדקסי עוקבים לזמינים או ללא זמינים באשכולות Elasticsearch המקומיים כאשר האפשרות קריאה מאשכולות מקומיים זמינה. הפוך הגדרה זו ללא זמינה אם השכפול ינוהל באופן ידני באמצעות אלסטיק. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=נפתר באופן אוטומטי (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ja.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ja.properties index 81e9488ee5c4bd..fbaaccc5ce87d0 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ja.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ja.properties @@ -2313,6 +2313,7 @@ auto-create=自動作成 auto-deploy=自動デプロイ auto-deploy-is-not-enabled=自動デプロイは有効ではありません。 auto-extend-session-enabled=セッションの自動延長が有効 +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=自動車保険の申請 auto-mapping=自動マッピング auto-translate=自動翻訳 @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=このフラグメントのエントリーを automatic-replication-enabled=自動レプリケーションが有効 automatic-replication-enabled-help=ローカルクラスターからの読み取りが有効な場合に、ローカルElasticsearchクラスターのフォロワーインデックスの自動作成を有効化または無効化します。Elasticsearch経由でレプリケーションが手動管理されている場合はこの設定を無効化してください。 automatic-unlocking=自動アンロック +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=アクションに関与するオブジェクトエントリーを自動的に関連付けます。 automatically-resolved=自動的に解決済み autoplay=自動再生 diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_kk.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_kk.properties index 2249a11cc8c288..7d2cdd206aa3d3 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_kk.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_kk.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Auto Deploy (Automatic Copy) auto-deploy-is-not-enabled=Auto deploy is not enabled. (Automatic Copy) auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_km.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_km.properties index 294e1c0d589b3c..777ece2c0f8d0c 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_km.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_km.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create auto-deploy=Auto Deploy auto-deploy-is-not-enabled=Auto deploy is not enabled. auto-extend-session-enabled=Auto Extend Session Enabled +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application auto-mapping=Auto Mapping auto-translate=Auto Translate @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. automatically-resolved=Automatically Resolved autoplay=Autoplay diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ko.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ko.properties index 461cbd6cbdf083..61b0eb39300005 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ko.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ko.properties @@ -2313,6 +2313,7 @@ auto-create=자동 생성 auto-deploy=자동차는 배치한다 auto-deploy-is-not-enabled=자동차는 가능하게 하지 않는다 배치한다. auto-extend-session-enabled=자동 세션 연장 활성 +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=자동차 보험 신청 auto-mapping=자동 맵핑 auto-translate=자동 번역 @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=프래그먼트 항목 발행시 모든 사 automatic-replication-enabled=자동 복제 활성 automatic-replication-enabled-help=로컬 클러스터 읽기가 활성되었을 때 로컬 Elasticsearch 크러스터 내 팔로워 인덱스 자동 생성 및 삭제를 활성 및 비활성합니다. Elasticsearch에서 복제가 수동으로 관리되는 경우 설정을 비활성 하십시오. automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=이 액션에 속한 객체 항목을 자동으로 연결합니다. automatically-resolved=자동으로 해결 autoplay=자동재생 diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lo.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lo.properties index cb03abb258f834..eb37aa705a2a05 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lo.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lo.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=ການປັບໃຊ້ແບບອັດຕະໂລມັດ auto-deploy-is-not-enabled=ບໍ່ສາມາດເປີດການນຳໃຊ້ແບບອັດຕະໂລມັດ auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lt.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lt.properties index c0d13f897e4047..afe2ca2a082b49 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lt.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_lt.properties @@ -2313,6 +2313,7 @@ auto-create=Automatinis kūrimas (Automatic Translation) auto-deploy=Automatinis diegimas (Automatic Translation) auto-deploy-is-not-enabled=Automatinis diegimas neįgalintas. (Automatic Translation) auto-extend-session-enabled=Įgalintas automatinio vykdymo pratęsimas (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Automatinio draudimo paraiška (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Automatinis vertimas (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Paskelbus šį fragmento įrašą, pakeitimai automatic-replication-enabled=Automatinis replikavimas įgalintas (Automatic Translation) automatic-replication-enabled-help=Įgalinus automatinį sekimo indeksų kūrimą ir naikinimą vietinėse elasticsearch grupėse, kai įjungta skaityti iš vietinių klasterių, įjunkite arba išjunkite automatinį sekimo indeksų kūrimą ir naikinimą. Išjunkite šį parametrą, jei replikavimas bus valdomas neautomatiniu būdu naudojant elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatiškai išspręsta (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ms.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ms.properties index 7cd6fc3a61de20..eb51b00a0e4356 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ms.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ms.properties @@ -2313,6 +2313,7 @@ auto-create=Ciptaan Automatik (Automatic Translation) auto-deploy=Penggunaan Automatik (Automatic Translation) auto-deploy-is-not-enabled=Penggunaan automatik tidak didayakan. (Automatic Translation) auto-extend-session-enabled=Sesi Lanjutan Auto Didayakan (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Permohonan Insurans Auto (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Terjemahan Automatik (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Perubahan akan disebarkan dengan serta-merta automatic-replication-enabled=Replikasi Automatik Didayakan (Automatic Translation) automatic-replication-enabled-help=Dayakan atau nyahdayakan penciptaan automatik dan pengusiran indeks pengikut dalam kelompok Elasticsearch tempatan apabila Dibaca daripada Kluster Tempatan didayakan. Nyahdayakan seting ini jika replikasi akan diuruskan secara manual melalui Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Diselesaikan Secara Automatik (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nb.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nb.properties index 4b64f5496f68db..3aa9a41047843b 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nb.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nb.properties @@ -2313,6 +2313,7 @@ auto-create=Opprett automatisk (Automatic Translation) auto-deploy=Installer automatisk auto-deploy-is-not-enabled=Automatisk installasjon er ikke aktivert. auto-extend-session-enabled=Automatisk utvidelse av økt aktivert (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Søknad om automatisk forsikring (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Automatisk oversetting (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Endringer blir propagert umiddelbart til all automatic-replication-enabled=Automatisk replikering aktivert (Automatic Translation) automatic-replication-enabled-help=Aktiver eller deaktiver automatisk oppretting og sletting av følgerindekser i de lokale Elasticsearch-klyngene når Les fra lokale klynger er aktivert. Deaktiver denne innstillingen hvis replikering skal behandles manuelt via Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatisk løst autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl.properties index 02ce61278afebe..579b3427200902 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl.properties @@ -2313,6 +2313,7 @@ auto-create=Automatisch Maken auto-deploy=Auto-implementatie auto-deploy-is-not-enabled=Auto-implementatie is niet ingeschakeld. auto-extend-session-enabled=Automatische sessieverlenging ingeschakeld +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aanvraag voor autoverzekering auto-mapping=Automatische toewijzing auto-translate=Automatisch vertalen @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Wijzigingen worden automatisch gepropageerd n automatic-replication-enabled=Automatische replicatie ingeschakeld automatic-replication-enabled-help=Schakel automatisch maken en verwijderen van volgersindexen in of uit in de lokale Elasticsearch-clusters wanneer 'lezen van lokale clusters' is ingeschakeld. Schakel deze instelling uit bij handmatig beheer van replicatie via Elasticsearch. automatic-unlocking=Automatische ontgrendeling +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relateer automatisch objectrecords die betrokken zijn bij de actie. automatically-resolved=Automatisch opgelost autoplay=Automatisch afspelen diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl_BE.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl_BE.properties index 98e833cc5dece2..ef2a27d7d65c70 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl_BE.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_nl_BE.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Auto Deployment auto-deploy-is-not-enabled=Auto Deployment is niet ingeschakeld. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pl.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pl.properties index 61d97faf9f0412..5e5151833944c6 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pl.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pl.properties @@ -2313,6 +2313,7 @@ auto-create=Automatyczne tworzenie (Automatic Translation) auto-deploy=Automatyczne wdrożenia auto-deploy-is-not-enabled=Automatyczne wdrożenia nie są włączone. auto-extend-session-enabled=Automatyczne rozszerzanie sesji włączone (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aplikacja auto ubezpieczenia (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Automatyczne tłumaczenie (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Zmiany będą propagowane natychmiast do wszy automatic-replication-enabled=Automatyczna replikacja włączona (Automatic Translation) automatic-replication-enabled-help=Włącz lub wyłącz automatyczne tworzenie i usuwanie indeksów zwolenników w lokalnych klastrach Elasticsearch, gdy funkcja Odczyt z klastrów lokalnych jest włączona. Wyłącz to ustawienie, jeśli replikacja będzie zarządzana ręcznie za pomocą elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatyczne rozwiązywanie (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_BR.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_BR.properties index 32ec815f3a59c9..0713334b042ef9 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_BR.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_BR.properties @@ -2313,6 +2313,7 @@ auto-create=Criar automaticamente auto-deploy=Auto deploy auto-deploy-is-not-enabled=Auto deploy não está habilitada. auto-extend-session-enabled=Sessão com extensão automática habilitada +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aplicação de Seguro Automática auto-mapping=Mapeamento automático auto-translate=Traduzir automaticamente @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=As modificações serão propagadas imediatam automatic-replication-enabled=Replicação automática habilitada automatic-replication-enabled-help=Habilite ou desabilite a criação automática de índices follower nos clusters Elasticsearch locais quando Ler de Clusters Locais estiver habilitado. Desative esta configuração se a replicação for gerenciada manualmente por meio do Elasticsearch. automatic-unlocking=Desbloqueio automático +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relaciona automaticamente entradas de objeto envolvidas na ação. automatically-resolved=Resolvido Automaticamente autoplay=Rep. automática diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_PT.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_PT.properties index 1d9c20badcf551..288a248e8bd9ae 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_PT.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_pt_PT.properties @@ -2313,6 +2313,7 @@ auto-create=Criar automaticamente auto-deploy=Deploy Automático auto-deploy-is-not-enabled=O Deploy Automático não está ativo. auto-extend-session-enabled=Sessão de extensão automática habilitada (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aplicação de seguro de automóvel (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Tradução automática (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Alterações serão propagadas imediatamente automatic-replication-enabled=Replicação automática ativada (Automatic Translation) automatic-replication-enabled-help=Habilite ou desabilitar a criação automática e a exclusão dos índices de seguimento nos clusters de pesquisa elástica local quando a leitura de clusters locais estiver ativada. Desabilite esta configuração se a replicação for gerenciada manualmente através do Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Resolvido automaticamente (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ro.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ro.properties index ee5a34357edfdb..0f27f94b92256d 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ro.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ro.properties @@ -2313,6 +2313,7 @@ auto-create=Creare automată (Automatic Translation) auto-deploy=Lansează Automat auto-deploy-is-not-enabled=Lansarea Automată nu este disponibilă auto-extend-session-enabled=Extindere automată sesiune activată (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Cerere de asigurare auto (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Traducere automată (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Modificările vor fi propagate imediat la toa automatic-replication-enabled=Reproducere automată activată (Automatic Translation) automatic-replication-enabled-help=Activați sau dezactivați crearea și ștergerea automată a indexurilor de urmărire în clusterele locale de căutare elastică atunci când este activată citirea din clusterele locale. Dezactivați această setare dacă reproducerea va fi gestionată manual prin Căutarea elastică. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Rezolvat automat (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ru.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ru.properties index 95bf0197bd6904..4f5b62b164111a 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ru.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ru.properties @@ -2313,6 +2313,7 @@ auto-create=Авто Создать (Automatic Translation) auto-deploy=Автоматический Deploy auto-deploy-is-not-enabled=Автоматический deploy не включен. auto-extend-session-enabled=Автоматическое расширение сессии Включено (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Заявка на автострахование (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Авто перевод (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Изменения будут немедле automatic-replication-enabled=Автоматическая репликация включена (Automatic Translation) automatic-replication-enabled-help=Включить или отключить автоматическое создание и удаление индексов подписчиков в локальных кластерах Elasticsearch при включении чтения из локальных кластеров. Отключите эту настройку, если репликация будет управляться вручную через Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Автоматическое решение (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sk.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sk.properties index d5f362b9c1c089..7aa8ca8a9b4f24 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sk.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sk.properties @@ -2313,6 +2313,7 @@ auto-create=Automatické vytváranie (Automatic Translation) auto-deploy=Automatické nasadzovanie auto-deploy-is-not-enabled=Automatické nasadzovanie nie je zapnuté. auto-extend-session-enabled=Automatické rozšírenie relácie povolené (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Aplikácia automatického poistenia (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Automatický preklad (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Zmeny sa okamžite rozšíria na všetky pou automatic-replication-enabled=Automatická replikácia povolená (Automatic Translation) automatic-replication-enabled-help=Po zapnutí čítania z lokálnych klastrov povoliť alebo zakázať automatické vytváranie a odstraňovanie indexov nasledovníkov v lokálnych klastroch Elasticsearch. Vypnite toto nastavenie, ak replikácie bude spravovať manuálne prostredníctvom Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automaticky vyriešené (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sl.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sl.properties index 88579af9751cac..95700c25176263 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sl.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sl.properties @@ -2313,6 +2313,7 @@ auto-create=Samodejno ustvarjanje (Automatic Translation) auto-deploy=Samodejno objavljanje auto-deploy-is-not-enabled=Samodejno objavljanje ni omogočeno. auto-extend-session-enabled=Omogočeno samodejno razširjanje seje (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Samodejna prijava zavarovanja (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Samodejni prevod (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Spremembe bodo takoj po objavi tega vnosa fra automatic-replication-enabled=Omogočena je samodejna replikacija (Automatic Translation) automatic-replication-enabled-help=Omogočite ali onemogočite samodejno ustvarjanje in brisanje kazal sledilnih kazal v lokalnih gručah iskanja elastika, ko je omogočeno branje iz lokalnih gruč. Onemogočite to nastavitev, če se bo z replikacijo upravljalo ročno prek elasticsearcha. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Samodejno odpravljeno (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS.properties index a1d4ecffb802b9..bb077cad973197 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Аутомата Примена auto-deploy-is-not-enabled=Аутоматска примена није омогућена. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS_latin.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS_latin.properties index f260dab142a394..91628c71d6f198 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS_latin.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sr_RS_latin.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=Automata Primena auto-deploy-is-not-enabled=Automatska primena nije omogućena. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sv.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sv.properties index dd2ac586515d82..7b0b32a5aabcc0 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sv.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_sv.properties @@ -2313,6 +2313,7 @@ auto-create=Skapa automatiskt auto-deploy=Utplacera automatiskt auto-deploy-is-not-enabled=Autodeploy är inte aktiverat auto-extend-session-enabled=Förläng session automatiskt aktiverat +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Ansökan till bilförsäkring auto-mapping=Automatisk mappning auto-translate=Översätt automatiskt @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Ändringar sprids automatiskt direkt till all automatic-replication-enabled=Automatisk replikering aktiverad automatic-replication-enabled-help=Aktivera eller inaktivera att följarindex skapas automatiskt i lokala Elasticsearch-kluster när Läs från lokala kluster är aktiverat. Inaktivera den här inställningen om replikering hanteras manuellt genom Elasticsearch. automatic-unlocking=Automatisk upplåsning +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Relatera automatiskt inlägg inblandade i aktiviteten. automatically-resolved=Löst automatiskt autoplay=Spela upp automatiskt diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ta_IN.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ta_IN.properties index 4da23b368bf293..e2853ba3dc12d1 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ta_IN.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_ta_IN.properties @@ -2313,6 +2313,7 @@ auto-create=Auto Create (Automatic Copy) auto-deploy=தானியங்கி Deploy auto-deploy-is-not-enabled=Auto Deploy செயல்படுத்தப்படவில்லை. auto-extend-session-enabled=Auto Extend Session Enabled (Automatic Copy) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Auto Insurance Application (Automatic Copy) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Auto Translate (Automatic Copy) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Changes will be propagated immediately to all automatic-replication-enabled=Automatic Replication Enabled (Automatic Copy) automatic-replication-enabled-help=Enable or disable automatic creation and deletion of follower indexes in the local Elasticsearch clusters when Read from Local Clusters is enabled. Disable this setting if replication will be managed manually through Elasticsearch. (Automatic Copy) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Automatically Resolved (Automatic Copy) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_th.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_th.properties index ec15c75c893d2a..7d295d460e3972 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_th.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_th.properties @@ -2313,6 +2313,7 @@ auto-create=สร้างแบบอัตโนมัติ auto-deploy=ออโต้ดีพลอย auto-deploy-is-not-enabled=ไม่ได้เปิดใช้งานออโต้ดีพลอย auto-extend-session-enabled=เปิดใช้งานการขยาย Session อัตโนมัติ +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=ออโต้อินชัวรันซ์แอปพลิเคชัน auto-mapping=ออโต้แมปปิ้ง auto-translate=แปลอัตโนมัติ @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=การเปลี่ยนแปลงจ automatic-replication-enabled=เปิดการใช้งานการคัดลอกอัตโนมัติ automatic-replication-enabled-help=เปิดใช้งานหรือปิดการใช้งานการสร้างและลบฟอลโล่เวอร์อินเด็กซ์อัตโนมัติที่โลคอล Elasticsearch คลัสเตอร์ส์ เมื่อเปิดใช้งานการอ่านจากโลคอลคลัสเตอร์ส์ ปิดการใช้งานนี้ถ้าการคัดลอกถูกทำแบบแมนนวลผ่าน Elasticsearch automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=เชื่อมโยงรายการวัตถุที่เกี่ยวข้องกับการกระทำโดยอัตโนมัติ automatically-resolved=แก้ไขอัตโนมัติ autoplay=ออโต้เพลย์ diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_tr.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_tr.properties index 772457d0f05919..71e4fc97b785d6 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_tr.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_tr.properties @@ -2313,6 +2313,7 @@ auto-create=Otomatik Oluştur (Automatic Translation) auto-deploy=Otomatik Deploy auto-deploy-is-not-enabled=Otomatik Deploy Opsiyonu Aktifi Değil. auto-extend-session-enabled=Otomatik Genişletme Oturumu Etkin (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Oto Sigorta Başvurusu (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Otomatik Çevir (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Değişiklikler, bu parça girdisi yayımlant automatic-replication-enabled=Otomatik Çoğaltma Etkin (Automatic Translation) automatic-replication-enabled-help=Yerel Kümelerden Okuma etkinleştirildiğinde, yerel Elastik arama kümelerinde takipçi dizinlerinin otomatik oluşturulmasını ve silinmesini etkinleştirin veya devre dışı bırakın. Çoğaltma Elastik arama aracılığıyla el ile yönetilecekse bu ayarı devre dışı bırakın. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Otomatik Olarak Çözüldü (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_uk.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_uk.properties index 7138c5c6ceed61..65cef279b84e6e 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_uk.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_uk.properties @@ -2313,6 +2313,7 @@ auto-create=Автоматичне створення (Automatic Translation) auto-deploy=Автоматичне розгортання та встановлення auto-deploy-is-not-enabled=Автоматичне розгортання і встановлення не включене. auto-extend-session-enabled=Увімкнено автоматичне розширення сеансу (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Заявка на автострахування (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Автоматичний переклад (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Зміни буде негайно розпо automatic-replication-enabled=Автоматичну реплікацію ввімкнуто (Automatic Translation) automatic-replication-enabled-help=Увімкнення або вимкнення автоматичного створення та видалення індексів послідовників у локальних кластерах Elasticsearch, якщо ввімкнуто читання з локальних кластерів. Вимкніть цей параметр, якщо реплікація керуватиметься вручну за допомогою elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Автоматичне вирішення (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_vi.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_vi.properties index 8d31b24b4c5c26..f7f766b983320b 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_vi.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_vi.properties @@ -2313,6 +2313,7 @@ auto-create=Tự động Tạo (Automatic Translation) auto-deploy=Tự động triển khai auto-deploy-is-not-enabled=Tự động triển khai không được bật. auto-extend-session-enabled=Tự động mở rộng phiên cho phép (Automatic Translation) +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=Ứng dụng bảo hiểm ô tô (Automatic Translation) auto-mapping=Auto Mapping (Automatic Copy) auto-translate=Tự động Dịch (Automatic Translation) @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=Thay đổi sẽ được truyền ngay lập automatic-replication-enabled=Đã bật Sao chép Tự động (Automatic Translation) automatic-replication-enabled-help=Bật hoặc tắt tự động tạo và xóa chỉ mục người theo dõi trong cụm Elasticsearch cục bộ khi đọc từ cụm cục bộ được bật. Tắt tùy chọn cài đặt này nếu tính năng sao chép sẽ được quản lý thủ công thông qua Elasticsearch. (Automatic Translation) automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=Tự động giải quyết (Automatic Translation) autoplay=Autoplay (Automatic Copy) diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_CN.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_CN.properties index 1c086fd386acb2..99560f58ea1a81 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_CN.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_CN.properties @@ -2313,6 +2313,7 @@ auto-create=自动创建 auto-deploy=自动部署 auto-deploy-is-not-enabled=自动部署未启用。 auto-extend-session-enabled=启用自动延长会话 +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=汽车保险应用程序 auto-mapping=自动映射 auto-translate=自动翻译 @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=更改将在发布此片段条目后立即传 automatic-replication-enabled=启用自动复制 automatic-replication-enabled-help=在"从本地群集读取"启用时,启用或者禁用在本地 Elasticsearch 群集中自动创建关注者索引。如果复制将通过 Elasticsearch 手动管理,请禁用此设置。 automatic-unlocking=自动解锁 +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=自动关联操作中涉及的对象条目。 automatically-resolved=已自动解决 autoplay=自动播放 diff --git a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_TW.properties b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_TW.properties index 5057fa69890d0e..5bc5f1d42858fa 100644 --- a/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_TW.properties +++ b/modules/apps/portal-language/portal-language-lang/src/main/resources/content/Language_zh_TW.properties @@ -2313,6 +2313,7 @@ auto-create=自動建立 auto-deploy=自動部署 auto-deploy-is-not-enabled=自動部署不能使用。 auto-extend-session-enabled=已啟用自動延長 Session +auto-increment=Auto Increment (Automatic Copy) auto-insurance-application=汽車保險應用程式 auto-mapping=自動映射 auto-translate=自動翻譯 @@ -2340,6 +2341,7 @@ automatic-propagation-enabled-help=發佈此頁面片段條目後,變更將立 automatic-replication-enabled=已啟用自動複製機制 automatic-replication-enabled-help=啟用從本地叢集讀取時,在本地 Elasticsearch 叢集中啟用或禁用自動創建跟隨者索引。 如果將通過 Elasticsearch 手動管理複製,請禁用此設置。 automatic-unlocking=Automatic Unlocking (Automatic Copy) +automatically-generates-a-unique-value-when-a-new-entry-is-added.-this-field-value-is-read-only=Automatically generates a unique value when a new entry is added. This field value is read only. (Automatic Copy) automatically-relate-object-entries-involved-in-the-action=Automatically relate object entries involved in the action. (Automatic Copy) automatically-resolved=已自動解決 autoplay=自動撥放 From bf2a9d5b827080c6c1921c98f50e6ab154837c72 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Mon, 30 Oct 2023 08:29:23 -0300 Subject: [PATCH 12/16] LPS-200156 buildRest --- .../object/admin/rest/dto/v1_0/ObjectField.java | 12 ++++++------ .../admin/rest/client/dto/v1_0/ObjectField.java | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/apps/object/object-admin-rest-api/src/main/java/com/liferay/object/admin/rest/dto/v1_0/ObjectField.java b/modules/apps/object/object-admin-rest-api/src/main/java/com/liferay/object/admin/rest/dto/v1_0/ObjectField.java index b777e2b4ca536a..6c01a96fd2b21e 100644 --- a/modules/apps/object/object-admin-rest-api/src/main/java/com/liferay/object/admin/rest/dto/v1_0/ObjectField.java +++ b/modules/apps/object/object-admin-rest-api/src/main/java/com/liferay/object/admin/rest/dto/v1_0/ObjectField.java @@ -1085,12 +1085,12 @@ public String toString() { public static enum BusinessType { AGGREGATION("Aggregation"), ATTACHMENT("Attachment"), - BOOLEAN("Boolean"), DATE("Date"), DATE_TIME("DateTime"), - DECIMAL("Decimal"), ENCRYPTED("Encrypted"), FORMULA("Formula"), - INTEGER("Integer"), LONG_INTEGER("LongInteger"), LONG_TEXT("LongText"), - MULTISELECT_PICKLIST("MultiselectPicklist"), PICKLIST("Picklist"), - PRECISION_DECIMAL("PrecisionDecimal"), RELATIONSHIP("Relationship"), - RICH_TEXT("RichText"), TEXT("Text"); + AUTO_INCREMENT("AutoIncrement"), BOOLEAN("Boolean"), DATE("Date"), + DATE_TIME("DateTime"), DECIMAL("Decimal"), ENCRYPTED("Encrypted"), + FORMULA("Formula"), INTEGER("Integer"), LONG_INTEGER("LongInteger"), + LONG_TEXT("LongText"), MULTISELECT_PICKLIST("MultiselectPicklist"), + PICKLIST("Picklist"), PRECISION_DECIMAL("PrecisionDecimal"), + RELATIONSHIP("Relationship"), RICH_TEXT("RichText"), TEXT("Text"); @JsonCreator public static BusinessType create(String value) { diff --git a/modules/apps/object/object-admin-rest-client/src/main/java/com/liferay/object/admin/rest/client/dto/v1_0/ObjectField.java b/modules/apps/object/object-admin-rest-client/src/main/java/com/liferay/object/admin/rest/client/dto/v1_0/ObjectField.java index 4dc20125a5bde3..70282ead68a63b 100644 --- a/modules/apps/object/object-admin-rest-client/src/main/java/com/liferay/object/admin/rest/client/dto/v1_0/ObjectField.java +++ b/modules/apps/object/object-admin-rest-client/src/main/java/com/liferay/object/admin/rest/client/dto/v1_0/ObjectField.java @@ -591,12 +591,12 @@ public String toString() { public static enum BusinessType { AGGREGATION("Aggregation"), ATTACHMENT("Attachment"), - BOOLEAN("Boolean"), DATE("Date"), DATE_TIME("DateTime"), - DECIMAL("Decimal"), ENCRYPTED("Encrypted"), FORMULA("Formula"), - INTEGER("Integer"), LONG_INTEGER("LongInteger"), LONG_TEXT("LongText"), - MULTISELECT_PICKLIST("MultiselectPicklist"), PICKLIST("Picklist"), - PRECISION_DECIMAL("PrecisionDecimal"), RELATIONSHIP("Relationship"), - RICH_TEXT("RichText"), TEXT("Text"); + AUTO_INCREMENT("AutoIncrement"), BOOLEAN("Boolean"), DATE("Date"), + DATE_TIME("DateTime"), DECIMAL("Decimal"), ENCRYPTED("Encrypted"), + FORMULA("Formula"), INTEGER("Integer"), LONG_INTEGER("LongInteger"), + LONG_TEXT("LongText"), MULTISELECT_PICKLIST("MultiselectPicklist"), + PICKLIST("Picklist"), PRECISION_DECIMAL("PrecisionDecimal"), + RELATIONSHIP("Relationship"), RICH_TEXT("RichText"), TEXT("Text"); public static BusinessType create(String value) { for (BusinessType businessType : values()) { From b1ff288f9434a53d687220f05f57bc10817f8947 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Mon, 30 Oct 2023 08:30:32 -0300 Subject: [PATCH 13/16] LPS-200156 buildService --- .../com/liferay/object/model/ObjectField.java | 8 ++++++++ .../object/model/ObjectFieldWrapper.java | 20 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectField.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectField.java index a9f2371ed1b8c6..45a6cb4350bb61 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectField.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectField.java @@ -56,6 +56,14 @@ public ObjectDefinition getObjectDefinition() public java.util.List getObjectFieldSettings(); + public String getSortableDBColumnName(); + + public boolean hasInsertValues(); + + public boolean hasUniqueValues(); + + public boolean hasUpdateValues(); + public boolean isDeletionAllowed() throws com.liferay.portal.kernel.exception.PortalException; diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectFieldWrapper.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectFieldWrapper.java index 1897bef26fbe14..11b3aa50f6a43e 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectFieldWrapper.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/model/ObjectFieldWrapper.java @@ -567,6 +567,11 @@ public boolean getRequired() { return model.getRequired(); } + @Override + public String getSortableDBColumnName() { + return model.getSortableDBColumnName(); + } + /** * Returns the state of this object field. * @@ -627,6 +632,21 @@ public String getUuid() { return model.getUuid(); } + @Override + public boolean hasInsertValues() { + return model.hasInsertValues(); + } + + @Override + public boolean hasUniqueValues() { + return model.hasUniqueValues(); + } + + @Override + public boolean hasUpdateValues() { + return model.hasUpdateValues(); + } + @Override public boolean isDeletionAllowed() throws com.liferay.portal.kernel.exception.PortalException { From 9b766548a204d0bc3b724898ce292d1c2c8482b2 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Mon, 30 Oct 2023 08:30:47 -0300 Subject: [PATCH 14/16] LPS-200156 baseline --- modules/apps/object/object-api/bnd.bnd | 2 +- .../src/main/resources/com/liferay/object/constants/packageinfo | 2 +- .../src/main/resources/com/liferay/object/exception/packageinfo | 2 +- .../main/resources/com/liferay/object/field/util/packageinfo | 2 +- .../src/main/resources/com/liferay/object/model/packageinfo | 2 +- .../object-dynamic-data-mapping-form-field-type-api/bnd.bnd | 2 +- .../dynamic/data/mapping/form/field/type/constants/packageinfo | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/apps/object/object-api/bnd.bnd b/modules/apps/object/object-api/bnd.bnd index fdfabae517d5e0..e490abf2dc3aa9 100644 --- a/modules/apps/object/object-api/bnd.bnd +++ b/modules/apps/object/object-api/bnd.bnd @@ -1,6 +1,6 @@ Bundle-Name: Liferay Object API Bundle-SymbolicName: com.liferay.object.api -Bundle-Version: 79.1.0 +Bundle-Version: 80.0.0 Export-Package:\ com.liferay.object.action.engine,\ com.liferay.object.action.executor,\ diff --git a/modules/apps/object/object-api/src/main/resources/com/liferay/object/constants/packageinfo b/modules/apps/object/object-api/src/main/resources/com/liferay/object/constants/packageinfo index e09d5703e33b50..411f0501b13dae 100644 --- a/modules/apps/object/object-api/src/main/resources/com/liferay/object/constants/packageinfo +++ b/modules/apps/object/object-api/src/main/resources/com/liferay/object/constants/packageinfo @@ -1 +1 @@ -version 9.0.0 \ No newline at end of file +version 9.1.0 \ No newline at end of file diff --git a/modules/apps/object/object-api/src/main/resources/com/liferay/object/exception/packageinfo b/modules/apps/object/object-api/src/main/resources/com/liferay/object/exception/packageinfo index 9dc715b3880303..e80e60bf7075d1 100644 --- a/modules/apps/object/object-api/src/main/resources/com/liferay/object/exception/packageinfo +++ b/modules/apps/object/object-api/src/main/resources/com/liferay/object/exception/packageinfo @@ -1 +1 @@ -version 24.0.0 \ No newline at end of file +version 25.0.0 \ No newline at end of file diff --git a/modules/apps/object/object-api/src/main/resources/com/liferay/object/field/util/packageinfo b/modules/apps/object/object-api/src/main/resources/com/liferay/object/field/util/packageinfo index 15596b8c10fadf..22b4761a333413 100644 --- a/modules/apps/object/object-api/src/main/resources/com/liferay/object/field/util/packageinfo +++ b/modules/apps/object/object-api/src/main/resources/com/liferay/object/field/util/packageinfo @@ -1 +1 @@ -version 3.3.0 \ No newline at end of file +version 3.4.0 \ No newline at end of file diff --git a/modules/apps/object/object-api/src/main/resources/com/liferay/object/model/packageinfo b/modules/apps/object/object-api/src/main/resources/com/liferay/object/model/packageinfo index 597e7aad58f453..cddf5f24c7956e 100644 --- a/modules/apps/object/object-api/src/main/resources/com/liferay/object/model/packageinfo +++ b/modules/apps/object/object-api/src/main/resources/com/liferay/object/model/packageinfo @@ -1 +1 @@ -version 8.8.0 \ No newline at end of file +version 8.9.0 \ No newline at end of file diff --git a/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/bnd.bnd b/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/bnd.bnd index 34da768e57bbda..17d856cc3756e3 100644 --- a/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/bnd.bnd +++ b/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/bnd.bnd @@ -1,4 +1,4 @@ Bundle-Name: Liferay Object Dynamic Data Mapping Form Field Type API Bundle-SymbolicName: com.liferay.object.dynamic.data.mapping.form.field.type.api -Bundle-Version: 1.0.3 +Bundle-Version: 1.1.0 Export-Package: com.liferay.object.dynamic.data.mapping.form.field.type.constants \ No newline at end of file diff --git a/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/resources/com/liferay/object/dynamic/data/mapping/form/field/type/constants/packageinfo b/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/resources/com/liferay/object/dynamic/data/mapping/form/field/type/constants/packageinfo index e2525561ab2e7b..b1793a21a72389 100644 --- a/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/resources/com/liferay/object/dynamic/data/mapping/form/field/type/constants/packageinfo +++ b/modules/apps/object/object-dynamic-data-mapping-form-field-type-api/src/main/resources/com/liferay/object/dynamic/data/mapping/form/field/type/constants/packageinfo @@ -1 +1 @@ -version 1.0.0 \ No newline at end of file +version 1.1.0 \ No newline at end of file From 2df8b33716ec7b8dfb145fdd560cba0263ee551e Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Fri, 27 Oct 2023 09:46:13 -0300 Subject: [PATCH 15/16] LPS-200156 Add feature flag --- .../type/AutoIncrementObjectFieldBusinessType.java | 11 +++++++++++ .../service/impl/ObjectFieldLocalServiceImpl.java | 9 +++++++++ .../service/test/ObjectFieldLocalServiceTest.java | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java index 88b7596089c486..c05934072e5c80 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/internal/field/business/type/AutoIncrementObjectFieldBusinessType.java @@ -11,9 +11,11 @@ import com.liferay.object.exception.ObjectFieldSettingValueException; import com.liferay.object.field.business.type.ObjectFieldBusinessType; import com.liferay.object.field.render.ObjectFieldRenderingContext; +import com.liferay.object.model.ObjectDefinition; import com.liferay.object.model.ObjectField; import com.liferay.object.model.ObjectFieldSetting; import com.liferay.portal.kernel.exception.PortalException; +import com.liferay.portal.kernel.feature.flag.FeatureFlagManagerUtil; import com.liferay.portal.kernel.language.Language; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; @@ -105,6 +107,15 @@ public Set getUnmodifiableObjectFieldSettingsNames() { ObjectFieldSettingConstants.NAME_SUFFIX); } + @Override + public boolean isVisible(ObjectDefinition objectDefinition) { + if (FeatureFlagManagerUtil.isEnabled("LPS-196724")) { + return true; + } + + return false; + } + @Override public void validateObjectFieldSettings( ObjectField objectField, diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java index 854971cab5ffc0..de61c922401083 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java @@ -67,6 +67,7 @@ import com.liferay.portal.kernel.dao.jdbc.CurrentConnection; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; +import com.liferay.portal.kernel.feature.flag.FeatureFlagManagerUtil; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.model.SystemEventConstants; @@ -650,6 +651,14 @@ private ObjectField _addObjectField( boolean system, List objectFieldSettings) throws PortalException { + if (!FeatureFlagManagerUtil.isEnabled("LPS-196724") && + Objects.equals( + businessType, + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + throw new UnsupportedOperationException(); + } + ObjectDefinition objectDefinition = _objectDefinitionPersistence.findByPrimaryKey(objectDefinitionId); diff --git a/modules/apps/object/object-test/src/testIntegration/java/com/liferay/object/service/test/ObjectFieldLocalServiceTest.java b/modules/apps/object/object-test/src/testIntegration/java/com/liferay/object/service/test/ObjectFieldLocalServiceTest.java index 41a9b5486b04fa..d457bd1a0c5e8f 100644 --- a/modules/apps/object/object-test/src/testIntegration/java/com/liferay/object/service/test/ObjectFieldLocalServiceTest.java +++ b/modules/apps/object/object-test/src/testIntegration/java/com/liferay/object/service/test/ObjectFieldLocalServiceTest.java @@ -110,7 +110,7 @@ * @author Marco Leo * @author Brian Wing Shun Chan */ -@FeatureFlags("LPS-187142") +@FeatureFlags({"LPS-187142", "LPS-196724"}) @RunWith(Arquillian.class) public class ObjectFieldLocalServiceTest { From 1a143aabb4281e6f5ee1354e23317792222f4bf6 Mon Sep 17 00:00:00 2001 From: Carolina Barbosa Date: Mon, 30 Oct 2023 11:20:24 -0300 Subject: [PATCH 16/16] LPS-200156 Automatically generate a new value for the Auto Increment object field when necessary --- .../object/field/util/ObjectFieldUtil.java | 8 ++ .../impl/ObjectEntryLocalServiceImpl.java | 89 +++++++++++++++---- .../impl/ObjectFieldLocalServiceImpl.java | 10 +++ portal-impl/src/portal.properties | 10 +++ 4 files changed, 102 insertions(+), 15 deletions(-) diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/field/util/ObjectFieldUtil.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/field/util/ObjectFieldUtil.java index 7ed0798b68cc7d..7fdde3808c8c71 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/field/util/ObjectFieldUtil.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/field/util/ObjectFieldUtil.java @@ -20,6 +20,8 @@ import com.liferay.object.model.ObjectFieldSetting; import com.liferay.object.service.ObjectFieldLocalServiceUtil; import com.liferay.object.service.ObjectFieldSettingLocalServiceUtil; +import com.liferay.petra.string.StringBundler; +import com.liferay.petra.string.StringPool; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; @@ -172,6 +174,12 @@ public static ObjectField createObjectField( false, false); } + public static String getCounterName(ObjectField objectField) { + return StringBundler.concat( + "auto.increment.object.field#", objectField.getCompanyId(), + StringPool.POUND, objectField.getObjectFieldId()); + } + public static String getDateTimePattern(String value) { if (value.length() == 10) { return "yyyy-MM-dd"; diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java index e99e1db5b92065..2b17380b790153 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectEntryLocalServiceImpl.java @@ -42,6 +42,7 @@ import com.liferay.object.field.business.type.ObjectFieldBusinessType; import com.liferay.object.field.business.type.ObjectFieldBusinessTypeRegistry; import com.liferay.object.field.setting.util.ObjectFieldSettingUtil; +import com.liferay.object.field.util.ObjectFieldUtil; import com.liferay.object.internal.action.util.ObjectActionThreadLocal; import com.liferay.object.internal.entry.util.ObjectEntrySearchUtil; import com.liferay.object.internal.filter.parser.ObjectFilterParser; @@ -2240,10 +2241,59 @@ else if (Objects.equals( } private String _getAutoIncrementSortableValue( - String prefix, String suffix, Object value) { + String prefix, String suffix, String value) { return StringUtil.removeLast( - StringUtil.removeFirst(String.valueOf(value), prefix), suffix); + StringUtil.removeFirst(value, prefix), suffix); + } + + private String _getAutoIncrementValue( + String counterName, String initialValue, String prefix, String suffix, + String valueString) { + + long currentId = 0; + + Connection connection = _currentConnection.getConnection( + objectEntryPersistence.getDataSource()); + + try (PreparedStatement preparedStatement = connection.prepareStatement( + "select currentId from Counter where name = ?")) { + + preparedStatement.setString(1, counterName); + + try (ResultSet resultSet = preparedStatement.executeQuery()) { + if (resultSet.next()) { + currentId = resultSet.getLong(1); + } + } + } + catch (Exception exception) { + throw new SystemException(exception); + } + + long value = GetterUtil.getLong( + _getAutoIncrementSortableValue(prefix, suffix, valueString)); + + if ((currentId == 0) || (value > currentId)) { + currentId = Math.max(value, GetterUtil.getLong(initialValue)); + + counterLocalService.reset(counterName, currentId); + } + else if (value == 0) { + currentId = counterLocalService.increment(counterName); + } + else { + currentId = value; + } + + StringBuilder sb = new StringBuilder(String.valueOf(currentId)); + + while (sb.length() < initialValue.length()) { + sb.insert(0, CharPool.NUMBER_0); + } + + return StringBundler.concat( + GetterUtil.getString(prefix), sb, GetterUtil.getString(suffix)); } private Map _getColumns(ObjectDefinition objectDefinition) { @@ -3398,24 +3448,33 @@ private void _insertIntoTable( if (objectField.compareBusinessType( ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { - _setColumn( - dynamicObjectDefinitionTable, index++, objectField, - preparedStatement, values); - Column column = dynamicObjectDefinitionTable.getColumn( - objectField.getSortableDBColumnName()); + objectField.getDBColumnName()); + + String prefix = ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_PREFIX, objectField); + String suffix = ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_SUFFIX, objectField); + + String value = _getAutoIncrementValue( + ObjectFieldUtil.getCounterName(objectField), + ObjectFieldSettingUtil.getValue( + ObjectFieldSettingConstants.NAME_INITIAL_VALUE, + objectField), + prefix, suffix, + GetterUtil.getString( + values.get(objectField.getName()))); + + _setColumn( + preparedStatement, index++, column.getSQLType(), value); + + column = dynamicObjectDefinitionTable.getColumn( + objectField.getSortableDBColumnName()); _setColumn( preparedStatement, index++, column.getSQLType(), - _getAutoIncrementSortableValue( - ObjectFieldSettingUtil.getValue( - ObjectFieldSettingConstants.NAME_PREFIX, - objectField), - ObjectFieldSettingUtil.getValue( - ObjectFieldSettingConstants.NAME_SUFFIX, - objectField), - values.get(objectField.getName()))); + _getAutoIncrementSortableValue(prefix, suffix, value)); continue; } diff --git a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java index de61c922401083..4f9e4532eeafd9 100644 --- a/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java +++ b/modules/apps/object/object-service/src/main/java/com/liferay/object/service/impl/ObjectFieldLocalServiceImpl.java @@ -310,6 +310,13 @@ public void deleteObjectFieldByObjectDefinitionId(Long objectDefinitionId) objectFieldPersistence.remove(objectField); + if (objectField.compareBusinessType( + ObjectFieldConstants.BUSINESS_TYPE_AUTO_INCREMENT)) { + + counterLocalService.reset( + ObjectFieldUtil.getCounterName(objectField)); + } + _objectFieldSettingLocalService.deleteObjectFieldObjectFieldSetting( objectField); } @@ -1016,6 +1023,9 @@ else if (!deleteRelationshipObjectField) { _alterTableDropColumn( objectField.getDBTableName(), objectField.getSortableDBColumnName()); + + counterLocalService.reset( + ObjectFieldUtil.getCounterName(objectField)); } return objectField; diff --git a/portal-impl/src/portal.properties b/portal-impl/src/portal.properties index 9ba1728b634b97..c022559269cdc6 100644 --- a/portal-impl/src/portal.properties +++ b/portal-impl/src/portal.properties @@ -6209,6 +6209,16 @@ # counter.increment=100 + # + # You can further fine tune the counter increment for specific counter + # names. This entry will ensure that the counter name + # "auto.increment.object.field" or anything that starts with + # "auto.increment.object.field#" will only increment by 1. + # + # Env: LIFERAY_COUNTER_PERIOD_INCREMENT_PERIOD_AUTO_PERIOD_INCREMENT_PERIOD_OBJECT_PERIOD_FIELD + # + counter.increment.auto.increment.object.field=1 + # # You can further fine tune the counter increment for specific counter # names. This entry will ensure that the counter name