This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch 4.15
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.15 by this push:
new c6055a2 api, ui: return default ui pagesize as part of capability
response (#5432)
c6055a2 is described below
commit c6055a23f374c4781947700ce9599dcf6e435073
Author: Abhishek Kumar <[email protected]>
AuthorDate: Fri Sep 10 19:15:38 2021 +0530
api, ui: return default ui pagesize as part of capability response (#5432)
listConfigurations is not available for all roles and therefore not fit to
use in UI for a generic functionality.
This PR makes default ui pagesize a part for listCapabilities API response
to make it available for UI across different role accounts.
Signed-off-by: Abhishek Kumar <[email protected]>
---
.../api/command/user/config/ListCapabilitiesCmd.java | 2 ++
.../apache/cloudstack/api/response/CapabilitiesResponse.java | 8 ++++++++
.../src/main/java/com/cloud/server/ManagementServerImpl.java | 2 ++
ui/src/store/modules/user.js | 10 +++-------
4 files changed, 15 insertions(+), 7 deletions(-)
diff --git
a/api/src/main/java/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
b/api/src/main/java/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
index 566be64..05176f5 100644
---
a/api/src/main/java/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
+++
b/api/src/main/java/org/apache/cloudstack/api/command/user/config/ListCapabilitiesCmd.java
@@ -21,6 +21,7 @@ import java.util.Map;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.BaseCmd;
import org.apache.cloudstack.api.response.CapabilitiesResponse;
+import org.apache.cloudstack.config.ApiServiceConfiguration;
import org.apache.log4j.Logger;
import com.cloud.user.Account;
@@ -69,6 +70,7 @@ public class ListCapabilitiesCmd extends BaseCmd {
if (capabilities.containsKey("apiLimitMax")) {
response.setApiLimitMax((Integer)capabilities.get("apiLimitMax"));
}
+
response.setDefaultUiPageSize((Long)capabilities.get(ApiServiceConfiguration.DefaultUIPageSize.key()));
response.setObjectName("capability");
response.setResponseName(getCommandName());
this.setResponseObject(response);
diff --git
a/api/src/main/java/org/apache/cloudstack/api/response/CapabilitiesResponse.java
b/api/src/main/java/org/apache/cloudstack/api/response/CapabilitiesResponse.java
index 26b3fd5..e860bae 100644
---
a/api/src/main/java/org/apache/cloudstack/api/response/CapabilitiesResponse.java
+++
b/api/src/main/java/org/apache/cloudstack/api/response/CapabilitiesResponse.java
@@ -100,6 +100,10 @@ public class CapabilitiesResponse extends BaseResponse {
@Param(description = "true if experimental features for Kubernetes cluster
such as Docker private registry are enabled, false otherwise")
private boolean kubernetesClusterExperimentalFeaturesEnabled;
+ @SerializedName("defaultuipagesize")
+ @Param(description = "default page size in the UI for various views, value
set in the configurations", since = "4.15.2")
+ private Long defaultUiPageSize;
+
public void setSecurityGroupsEnabled(boolean securityGroupsEnabled) {
this.securityGroupsEnabled = securityGroupsEnabled;
}
@@ -175,4 +179,8 @@ public class CapabilitiesResponse extends BaseResponse {
public void setKubernetesClusterExperimentalFeaturesEnabled(boolean
kubernetesClusterExperimentalFeaturesEnabled) {
this.kubernetesClusterExperimentalFeaturesEnabled =
kubernetesClusterExperimentalFeaturesEnabled;
}
+
+ public void setDefaultUiPageSize(Long defaultUiPageSize) {
+ this.defaultUiPageSize = defaultUiPageSize;
+ }
}
diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
index bec025f..93c1e9b 100644
--- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
@@ -538,6 +538,7 @@ import
org.apache.cloudstack.api.command.user.vpn.UpdateVpnConnectionCmd;
import org.apache.cloudstack.api.command.user.vpn.UpdateVpnCustomerGatewayCmd;
import org.apache.cloudstack.api.command.user.vpn.UpdateVpnGatewayCmd;
import org.apache.cloudstack.api.command.user.zone.ListZonesCmd;
+import org.apache.cloudstack.config.ApiServiceConfiguration;
import org.apache.cloudstack.config.Configuration;
import org.apache.cloudstack.context.CallContext;
import
org.apache.cloudstack.engine.orchestration.service.VolumeOrchestrationService;
@@ -3858,6 +3859,7 @@ public class ManagementServerImpl extends ManagerBase
implements ManagementServe
capabilities.put("allowUserViewAllDomainAccounts",
allowUserViewAllDomainAccounts);
capabilities.put("kubernetesServiceEnabled", kubernetesServiceEnabled);
capabilities.put("kubernetesClusterExperimentalFeaturesEnabled",
kubernetesClusterExperimentalFeaturesEnabled);
+ capabilities.put(ApiServiceConfiguration.DefaultUIPageSize.key(),
ApiServiceConfiguration.DefaultUIPageSize.value());
if (apiLimitEnabled) {
capabilities.put("apiLimitInterval", apiLimitInterval);
capabilities.put("apiLimitMax", apiLimitMax);
diff --git a/ui/src/store/modules/user.js b/ui/src/store/modules/user.js
index 9bd760b..97bea86 100644
--- a/ui/src/store/modules/user.js
+++ b/ui/src/store/modules/user.js
@@ -255,13 +255,9 @@ const user = {
api('listCapabilities').then(response => {
const result = response.listcapabilitiesresponse.capability
commit('SET_FEATURES', result)
- }).catch(error => {
- reject(error)
- })
-
- api('listConfigurations', { name: 'default.ui.page.size'
}).then(response => {
- const defaultListViewPageSize =
parseInt(response.listconfigurationsresponse.configuration[0].value)
- commit('SET_DEFAULT_LISTVIEW_PAGE_SIZE', defaultListViewPageSize)
+ if (result && result.defaultuipagesize) {
+ commit('SET_DEFAULT_LISTVIEW_PAGE_SIZE', result.defaultuipagesize)
+ }
}).catch(error => {
reject(error)
})