From b68e97a1350ffc998062b37ff363fd8b40678b84 Mon Sep 17 00:00:00 2001 From: Nicole Schmidt Date: Mon, 30 Dec 2024 10:22:58 -0300 Subject: [PATCH] Add preset variable account created --- .../activationrule/presetvariables/Account.java | 16 ++++++++++++++++ .../presetvariables/PresetVariableHelper.java | 1 + .../PresetVariableHelperTest.java | 3 ++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Account.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Account.java index 37c90ab0bcd9..2420d577f10b 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Account.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/Account.java @@ -17,11 +17,19 @@ package org.apache.cloudstack.quota.activationrule.presetvariables; +import com.cloud.utils.DateUtil; + +import java.util.Date; +import java.util.TimeZone; + public class Account extends GenericPresetVariable { @PresetVariableDefinition(description = "Role of the account. This field will not exist if the account is a project.") private Role role; + @PresetVariableDefinition(description = "The date the account was created in GMT. This field will not exist for the first root admin account.") + private String created; + public Role getRole() { return role; } @@ -31,4 +39,12 @@ public void setRole(Role role) { fieldNamesToIncludeInToString.add("role"); } + public String getCreated() { + return created; + } + + public void setCreated(Date created) { + this.created = DateUtil.displayDateInTimezone(TimeZone.getTimeZone("GMT"), created); + fieldNamesToIncludeInToString.add("created"); + } } diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java index d5df3ae8a913..1e84ba27e02e 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java @@ -224,6 +224,7 @@ protected Account getPresetVariableAccount(Long accountId) { Account account = new Account(); account.setId(accountVo.getUuid()); account.setName(accountVo.getName()); + account.setCreated(accountVo.getCreated()); setPresetVariableRoleInAccountIfAccountIsNotAProject(accountVo.getType(), accountVo.getRoleId(), account); diff --git a/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java b/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java index 45af4b8a29ab..7f64939f7bb7 100644 --- a/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java +++ b/framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java @@ -375,11 +375,12 @@ public void getPresetVariableAccountTestSetValuesAndReturnObject() { Account account = getAccountForTests(); Mockito.doReturn(account.getId()).when(accountVoMock).getUuid(); Mockito.doReturn(account.getName()).when(accountVoMock).getName(); + Mockito.doReturn(account.getCreated()).when(accountVoMock).getCreated(); Account result = presetVariableHelperSpy.getPresetVariableAccount(1l); assertPresetVariableIdAndName(account, result); - validateFieldNamesToIncludeInToString(Arrays.asList("id", "name"), result); + validateFieldNamesToIncludeInToString(Arrays.asList("created", "id", "name"), result); } @Test