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)
         })

Reply via email to