Alexander Wels has uploaded a new change for review.

Change subject: webadmin: Quota tab sorting
......................................................................

webadmin: Quota tab sorting

- Implemented sorting on Quota main tab.
  - Only for name and description
- Implemented sorting on Quota sub tabs.
  - Not implemented for VM/Template

Change-Id: I2740a5a15523da95b599de5b7acf688472d6df49
Signed-off-by: Alexander Wels <[email protected]>
---
M 
backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java
8 files changed, 80 insertions(+), 53 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/71/30771/1

diff --git 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java
 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java
index 0133b61..8934a19 100644
--- 
a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java
+++ 
b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/QuotaConditionFieldAutoCompleter.java
@@ -3,21 +3,21 @@
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
 
 public class QuotaConditionFieldAutoCompleter extends 
BaseConditionFieldAutoCompleter {
-    private static final String name = "NAME";
-    private static final String storagePoolName = "STORAGEPOOLNAME";
-    private static final String description = "DESCRIPTION";
-    private static final String thresholdVdsGroupPercentage = 
"THRESHOLDVDSGROUPPERCENTAGE";
-    private static final String thresholdStoragePercentage = 
"THRESHOLDSTORAGEPERCENTAGE";
-    private static final String graceVdsGrouPercentage = 
"GRACEVDSGROUPPERCENTAGE";
-    private static final String graceStoragePercentage = 
"GRACESTORAGEPERCENTAGE";
+    public static final String NAME = "NAME";
+    public static final String STORAGEPOOLNAME = "STORAGEPOOLNAME";
+    public static final String DESCRIPTION = "DESCRIPTION";
+    public static final String thresholdVdsGroupPercentage = 
"THRESHOLDVDSGROUPPERCENTAGE";
+    public static final String thresholdStoragePercentage = 
"THRESHOLDSTORAGEPERCENTAGE";
+    public static final String graceVdsGrouPercentage = 
"GRACEVDSGROUPPERCENTAGE";
+    public static final String graceStoragePercentage = 
"GRACESTORAGEPERCENTAGE";
 
     private static final String enforcementType = "ENFORCEMENTTYPE";
 
     public QuotaConditionFieldAutoCompleter() {
         // Building the basic verbs dict.
-        mVerbs.add(name);
-        mVerbs.add(storagePoolName);
-        mVerbs.add(description);
+        mVerbs.add(NAME);
+        mVerbs.add(STORAGEPOOLNAME);
+        mVerbs.add(DESCRIPTION);
         mVerbs.add(thresholdStoragePercentage);
         mVerbs.add(thresholdVdsGroupPercentage);
         mVerbs.add(graceStoragePercentage);
@@ -28,9 +28,9 @@
         buildCompletions();
 
         // Building the types dict.
-        getTypeDictionary().put(name, String.class);
-        getTypeDictionary().put(storagePoolName, String.class);
-        getTypeDictionary().put(description, String.class);
+        getTypeDictionary().put(NAME, String.class);
+        getTypeDictionary().put(STORAGEPOOLNAME, String.class);
+        getTypeDictionary().put(DESCRIPTION, String.class);
         getTypeDictionary().put(thresholdStoragePercentage, Integer.class);
         getTypeDictionary().put(thresholdVdsGroupPercentage, Integer.class);
         getTypeDictionary().put(graceStoragePercentage, Integer.class);
@@ -38,9 +38,9 @@
         getTypeDictionary().put(enforcementType, 
QuotaEnforcementTypeEnum.class);
 
         // building the ColumnName dict.
-        columnNameDict.put(name, "quota_name");
-        columnNameDict.put(storagePoolName, "storage_pool_name");
-        columnNameDict.put(description, "description");
+        columnNameDict.put(NAME, "quota_name");
+        columnNameDict.put(STORAGEPOOLNAME, "storage_pool_name");
+        columnNameDict.put(DESCRIPTION, "description");
         columnNameDict.put(thresholdVdsGroupPercentage, 
"threshold_vds_group_percentage");
         columnNameDict.put(thresholdStoragePercentage, 
"threshold_storage_percentage");
         columnNameDict.put(graceStoragePercentage, "grace_storage_percentage");
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
index 86cea09..42838ba 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
@@ -1,6 +1,5 @@
 package org.ovirt.engine.ui.common.widget.table.column;
 
-import com.google.gwt.user.cellview.client.Column;
 
 /**
  * Column for displaying text using {@link TextCellWithEditableTooltip}.
@@ -8,7 +7,8 @@
  * @param <T>
  *            Table row data type.
  */
-public abstract class TextColumnWithEditableTooltip<T> extends Column<T, 
String> implements ColumnWithElementId {
+public abstract class TextColumnWithEditableTooltip<T> extends 
SortableColumn<T, String>
+    implements ColumnWithElementId {
 
     public TextColumnWithEditableTooltip() {
         super(new TextCellWithEditableTooltip());
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
index 785ad18..b209bf1 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/quota/QuotaListModel.java
@@ -131,9 +131,15 @@
 
     @Override
     protected void syncSearch() {
-        SearchParameters tempVar = new SearchParameters(getSearchString(), 
SearchType.Quota, isCaseSensitiveSearch());
+        SearchParameters tempVar = new 
SearchParameters(applySortOptions(getSearchString()), SearchType.Quota,
+                isCaseSensitiveSearch());
         tempVar.setMaxCount(getSearchPageSize());
         super.syncSearch(VdcQueryType.Search, tempVar);
+    }
+
+    @Override
+    public boolean supportsServerSideSorting() {
+        return true;
     }
 
     private void updateActionAvailability() {
@@ -145,7 +151,7 @@
         getCloneCommand().setIsExecutionAllowed(items.size() == 1);
     }
 
-    protected void createQuota(){
+    protected void createQuota() {
         createQuota(true);
     }
 
@@ -191,8 +197,8 @@
 
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
-                StoragePool selectedDataCenter = (StoragePool) 
qModel.getDataCenter().getSelectedItem();
-                if(selectedDataCenter == null){
+                StoragePool selectedDataCenter = 
qModel.getDataCenter().getSelectedItem();
+                if (selectedDataCenter == null) {
                     return;
                 }
                 AsyncDataProvider.getClusterList(new AsyncQuery(this, new 
INewAsyncCallback() {
@@ -271,16 +277,16 @@
             return;
         }
         Quota quota = (Quota) model.getEntity();
-        quota.setQuotaName((String) model.getName().getEntity());
-        quota.setDescription((String) model.getDescription().getEntity());
-        quota.setStoragePoolId(((StoragePool) 
model.getDataCenter().getSelectedItem()).getId());
+        quota.setQuotaName(model.getName().getEntity());
+        quota.setDescription(model.getDescription().getEntity());
+        
quota.setStoragePoolId(model.getDataCenter().getSelectedItem().getId());
 
         quota.setGraceVdsGroupPercentage(model.getGraceClusterAsInteger());
         quota.setGraceStoragePercentage(model.getGraceStorageAsInteger());
         
quota.setThresholdVdsGroupPercentage(model.getThresholdClusterAsInteger());
         
quota.setThresholdStoragePercentage(model.getThresholdStorageAsInteger());
 
-        if ((Boolean) model.getGlobalClusterQuota().getEntity()) {
+        if (model.getGlobalClusterQuota().getEntity()) {
             QuotaVdsGroup quotaVdsGroup;
             for (QuotaVdsGroup iter : (ArrayList<QuotaVdsGroup>) 
model.getQuotaClusters().getItems()) {
                 quota.setGlobalQuotaVdsGroup(new QuotaVdsGroup());
@@ -301,7 +307,7 @@
             quota.setQuotaVdsGroups(quotaClusterList);
         }
 
-        if ((Boolean) model.getGlobalStorageQuota().getEntity()) {
+        if (model.getGlobalStorageQuota().getEntity()) {
             QuotaStorage quotaStorage;
             for (QuotaStorage iter : (ArrayList<QuotaStorage>) 
model.getQuotaStorages().getItems()) {
                 quota.setGlobalQuotaStorage(new QuotaStorage());
@@ -325,7 +331,7 @@
 
         QuotaCRUDParameters parameters = new QuotaCRUDParameters(quota);
         if (isClone) {
-            parameters.setCopyPermissions((Boolean) 
model.getCopyPermissions().getEntity());
+            
parameters.setCopyPermissions(model.getCopyPermissions().getEntity());
             parameters.setQuotaId(quota.getId());
             quota.setId(Guid.Empty);
         }
@@ -349,7 +355,7 @@
 
     private boolean hasUnlimitedSpecificQuota() {
         QuotaModel model = (QuotaModel) getWindow();
-        if ((Boolean)model.getSpecificClusterQuota().getEntity()) {
+        if (model.getSpecificClusterQuota().getEntity()) {
             for (QuotaVdsGroup quotaVdsGroup : (ArrayList<QuotaVdsGroup>) 
model.getAllDataCenterClusters().getItems()) {
                 if 
(QuotaVdsGroup.UNLIMITED_MEM.equals(quotaVdsGroup.getMemSizeMB())
                         || 
QuotaVdsGroup.UNLIMITED_VCPU.equals(quotaVdsGroup.getVirtualCpu())) {
@@ -358,7 +364,7 @@
             }
         }
 
-        if((Boolean)model.getSpecificStorageQuota().getEntity()) {
+        if (model.getSpecificStorageQuota().getEntity()) {
             for (QuotaStorage quotaStorage : (ArrayList<QuotaStorage>) 
model.getAllDataCenterStorages().getItems()) {
                 if 
(QuotaStorage.UNLIMITED.equals(quotaStorage.getStorageSizeGB())) {
                     return true;
@@ -439,7 +445,7 @@
 
                     @Override
                     public void eventRaised(Event ev, Object sender, EventArgs 
args) {
-                        StoragePool selectedDataCenter = (StoragePool) 
qModel.getDataCenter().getSelectedItem();
+                        StoragePool selectedDataCenter = 
qModel.getDataCenter().getSelectedItem();
                         AsyncDataProvider.getClusterList(new AsyncQuery(this, 
new INewAsyncCallback() {
 
                             @Override
@@ -531,7 +537,8 @@
                                 }
                                 qModel.stopProgress();
                             }
-                        }), selectedDataCenter.getId());
+                        }),
+                        selectedDataCenter.getId());
 
                     }
                 });
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java
index d3ebe66..b68a5c5 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabQuotaView.java
@@ -4,6 +4,7 @@
 import org.ovirt.engine.core.common.businessentities.QuotaStorage;
 import org.ovirt.engine.core.common.businessentities.QuotaVdsGroup;
 import org.ovirt.engine.core.common.utils.SizeConverter;
+import org.ovirt.engine.core.searchbackend.QuotaConditionFieldAutoCompleter;
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
 import org.ovirt.engine.ui.common.widget.renderer.DiskSizeRenderer;
@@ -45,19 +46,23 @@
 
         getTable().addColumn(new QuotaDcStatusColumn(), constants.empty(), 
"30px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<Quota>() {
+        TextColumnWithTooltip<Quota> nameColumn = new 
TextColumnWithTooltip<Quota>() {
             @Override
             public String getValue(Quota object) {
                 return object.getQuotaName() == null ? "" : 
object.getQuotaName(); //$NON-NLS-1$
             }
-        }, constants.nameQuota(), "120px"); //$NON-NLS-1$
+        };
+        nameColumn.makeSortable(QuotaConditionFieldAutoCompleter.NAME);
+        getTable().addColumn(nameColumn, constants.nameQuota(), "120px"); 
//$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<Quota>() {
+        TextColumnWithTooltip<Quota> descriptionColumn = new 
TextColumnWithTooltip<Quota>() {
             @Override
             public String getValue(Quota object) {
                 return object.getDescription() == null ? "" : 
object.getDescription(); //$NON-NLS-1$
             }
-        }, constants.descriptionQuota(), "120px"); //$NON-NLS-1$
+        };
+        
descriptionColumn.makeSortable(QuotaConditionFieldAutoCompleter.DESCRIPTION);
+        getTable().addColumn(descriptionColumn, constants.descriptionQuota(), 
"120px"); //$NON-NLS-1$
 
         getTable().addColumn(new QuotaPercentColumn<Quota>() {
             @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java
index 8c94774..dee2b9b 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaClusterView.java
@@ -35,17 +35,17 @@
     private void initTable(final ApplicationConstants constants, final 
ApplicationMessages messages) {
         getTable().enableColumnResizing();
 
-        getTable().addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() {
+        TextColumnWithTooltip<QuotaVdsGroup> nameColumn = new 
TextColumnWithTooltip<QuotaVdsGroup>() {
             @Override
             public String getValue(QuotaVdsGroup object) {
                 return object.getVdsGroupName() == null || 
object.getVdsGroupName().equals("") ?
                         constants.ultQuotaForAllClustersQuotaPopup() : 
object.getVdsGroupName();
             }
-        },
-                constants.nameCluster(),
-                "300px"); //$NON-NLS-1$
+        };
+        nameColumn.makeSortable();
+        getTable().addColumn(nameColumn, constants.nameCluster(), "300px"); 
//$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() {
+        TextColumnWithTooltip<QuotaVdsGroup> usedMemColumn = new 
TextColumnWithTooltip<QuotaVdsGroup>() {
             @Override
             public String getValue(QuotaVdsGroup object) {
                 if (object.getMemSizeMB() == null) {
@@ -56,10 +56,11 @@
                     return 
messages.limitedMemConsumption(object.getMemSizeMBUsage(), 
object.getMemSizeMB());
                 }
             }
-        },
-                constants.usedMemoryTotalCluster(), "300px"); //$NON-NLS-1$
+        };
+        usedMemColumn.makeSortable();
+        getTable().addColumn(usedMemColumn, 
constants.usedMemoryTotalCluster(), "300px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithTooltip<QuotaVdsGroup>() {
+        TextColumnWithTooltip<QuotaVdsGroup> virtualCpuColumn = new 
TextColumnWithTooltip<QuotaVdsGroup>() {
             @Override
             public String getValue(QuotaVdsGroup object) {
                 if (object.getVirtualCpu() == null) {
@@ -70,8 +71,9 @@
                     return 
messages.limitedVcpuConsumption(object.getVirtualCpuUsage(), 
object.getVirtualCpu());
                 }
             }
-        },
-                constants.runningCpuTotalCluster(), "300px"); //$NON-NLS-1$
+        };
+        virtualCpuColumn.makeSortable();
+        getTable().addColumn(virtualCpuColumn, 
constants.runningCpuTotalCluster(), "300px"); //$NON-NLS-1$
     }
 
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java
index 38e3686..2afd005 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaPermissionView.java
@@ -43,6 +43,7 @@
                 return object.getOwnerName();
             }
         };
+        userColumn.makeSortable();
         getTable().addColumn(userColumn, constants.userPermission());
 
         TextColumnWithTooltip<Permissions> roleColumn = new 
TextColumnWithTooltip<Permissions>() {
@@ -51,6 +52,7 @@
                 return object.getRoleName();
             }
         };
+        roleColumn.makeSortable();
         getTable().addColumn(roleColumn, constants.rolePermission());
 
         TextColumnWithTooltip<Permissions> permissionColumn = new 
ObjectNameColumn<Permissions>() {
@@ -61,6 +63,7 @@
                 };
             }
         };
+        permissionColumn.makeSortable();
         getTable().addColumn(permissionColumn, 
constants.inheretedFromPermission());
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<Permissions>(constants.addPermission()) {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
index 0b7fc56..7c4e765 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
@@ -1,5 +1,7 @@
 package org.ovirt.engine.ui.webadmin.section.main.view.tab.quota;
 
+import java.util.Comparator;
+
 import javax.inject.Inject;
 
 import org.ovirt.engine.core.common.businessentities.Quota;
@@ -42,17 +44,17 @@
     private void initTable(final ApplicationConstants constants, final 
ApplicationMessages messages) {
         getTable().enableColumnResizing();
 
-        getTable().addColumn(new TextColumnWithTooltip<QuotaStorage>() {
+        TextColumnWithTooltip<QuotaStorage> nameColumn = new 
TextColumnWithTooltip<QuotaStorage>() {
             @Override
             public String getValue(QuotaStorage object) {
                 return object.getStorageName() == null || 
object.getStorageName().equals("") ? constants.utlQuotaAllStoragesQuotaPopup()
                         : object.getStorageName();
             }
-        },
-                constants.nameQuotaStorage(),
-                "400px"); //$NON-NLS-1$
+        };
+        nameColumn.makeSortable();
+        getTable().addColumn(nameColumn, constants.nameQuotaStorage(), 
"400px"); //$NON-NLS-1$
 
-        getTable().addColumn(new TextColumnWithEditableTooltip<QuotaStorage>() 
{
+        TextColumnWithEditableTooltip<QuotaStorage> usedColumn = new 
TextColumnWithEditableTooltip<QuotaStorage>() {
             @Override
             public String getValue(QuotaStorage object) {
                 if (object.getStorageSizeGB() == null) {
@@ -75,7 +77,13 @@
                 
textCellWithEditableTooltip.setTitle(constants.quotaCalculationsMessage());
                 return textCellWithEditableTooltip;
             }
-        },
-                constants.usedStorageTotalQuotaStorage(), "400px"); 
//$NON-NLS-1$
+        };
+        usedColumn.makeSortable(new Comparator<QuotaStorage>() {
+            @Override
+            public int compare(QuotaStorage quotaStorage1, QuotaStorage 
quotaStorage2) {
+                return 
quotaStorage1.getStorageSizeGBUsage().compareTo(quotaStorage2.getStorageSizeGBUsage());
+            }
+        });
+        getTable().addColumn(usedColumn, 
constants.usedStorageTotalQuotaStorage(), "400px"); //$NON-NLS-1$
     }
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java
index c29b672..afbdf7c 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaUserView.java
@@ -45,6 +45,7 @@
                 return object.getOwnerName();
             }
         };
+        userColumn.makeSortable();
         getTable().addColumn(userColumn, constants.userUser(), "400px"); 
//$NON-NLS-1$
 
         TextColumnWithTooltip<Permissions> permissionColumn = new 
ObjectNameColumn<Permissions>() {
@@ -55,6 +56,7 @@
                 };
             }
         };
+        permissionColumn.makeSortable();
         getTable().addColumn(permissionColumn, constants.inheritedFromUser(), 
"400px"); //$NON-NLS-1$
 
         getTable().addActionButton(new 
WebAdminButtonDefinition<Permissions>(constants.addUser()) {


-- 
To view, visit http://gerrit.ovirt.org/30771
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2740a5a15523da95b599de5b7acf688472d6df49
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5
Gerrit-Owner: Alexander Wels <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to