Yair Zaslavsky has uploaded a new change for review.

Change subject: aaa: present authz and namespace information
......................................................................

aaa: present authz and namespace information

This patch presents authz and namespace info
at users main tab, and in permissions sub tabs

Topic: AAA
Change-Id: I4b2bc84364b8ac7ee180848a66bd03489b03e4d3
Bug-Url: https://bugzilla.redhat.com/1120195
Signed-off-by: Yair Zaslavsky <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/permissions/PermissionListModelTable.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
M packaging/dbscripts/create_functions.sql
M packaging/dbscripts/create_views.sql
7 files changed, 94 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/45/30645/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
index bb0251e..329a3c7 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Permissions.java
@@ -16,6 +16,9 @@
     private String roleName;
     private String ownerName;
     private RoleType roleType;
+    private String authz;
+
+    private String namespace;
 
     public Permissions() {
         this (Guid.Empty, Guid.Empty, null, null);
@@ -108,6 +111,22 @@
         return roleType;
     }
 
+    public String getAuthz() {
+        return authz;
+    }
+
+    public void setAuthz(String authz) {
+        this.authz = authz;
+    }
+
+    public String getNamespace() {
+        return namespace;
+    }
+
+    public void setNamespace(String namespace) {
+        this.namespace = namespace;
+    }
+
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -121,6 +140,9 @@
         result = prime * result + ((roleName == null) ? 0 : 
roleName.hashCode());
         result = prime * result + ((roleType == null) ? 0 : 
roleType.hashCode());
         result = prime * result + ((roleId == null) ? 0 : roleId.hashCode());
+        result = prime * result + ((authz == null) ? 0 : authz.hashCode());
+        result = prime * result + ((namespace == null) ? 0 : 
namespace.hashCode());
+
         return result;
     }
 
@@ -140,7 +162,9 @@
                 && ObjectUtils.objectsEqual(adElementId, other.adElementId)
                 && ObjectUtils.objectsEqual(objectId, other.objectId)
                 && objectType == other.objectType
-                && ObjectUtils.objectsEqual(roleId, other.roleId));
+                && ObjectUtils.objectsEqual(roleId, other.roleId)
+                && ObjectUtils.objectsEqual(authz, other.authz)
+                && ObjectUtils.objectsEqual(namespace, other.namespace));
     }
 
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
index e0ae04a..a603f44 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java
@@ -1868,4 +1868,10 @@
 
     @DefaultStringValue("Required Random Number Generator sources:")
     String requiredRngSources();
+
+    @DefaultStringValue("Namespace")
+    String namespace();
+
+    @DefaultStringValue("Authorization provider")
+    String authz();
 }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/permissions/PermissionListModelTable.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/permissions/PermissionListModelTable.java
index 58cfac7..d6f52fc 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/permissions/PermissionListModelTable.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/permissions/PermissionListModelTable.java
@@ -36,6 +36,25 @@
         userColumn.makeSortable();
         getTable().addColumn(userColumn, constants.userPermission(), "300px"); 
//$NON-NLS-1$
 
+        TextColumnWithTooltip<Permissions> namespaceColumn = new 
TextColumnWithTooltip<Permissions>() {
+            @Override
+            public String getValue(Permissions object) {
+                return object.getNamespace();
+            }
+        };
+        getTable().addColumn(namespaceColumn, constants.namespace(), "300px"); 
//$NON-NLS-1$
+
+        TextColumnWithTooltip<Permissions> authzColumn = new 
TextColumnWithTooltip<Permissions>() {
+            @Override
+            public String getValue(Permissions object) {
+                return object.getAuthz();
+            }
+        };
+        authzColumn.makeSortable();
+        getTable().addColumn(namespaceColumn, constants.authz(), "300px"); 
//$NON-NLS-1$
+
+
+        
         TextColumnWithTooltip<Permissions> roleColumn = new 
TextColumnWithTooltip<Permissions>() {
             @Override
             public String getValue(Permissions object) {
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 1f3d289..82a9187 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -3743,4 +3743,10 @@
 
     @DefaultStringValue("Save As Pdf")
     String exportToPdf();
+
+    @DefaultStringValue("Authorization provider")
+    String authzProvider();
+
+    @DefaultStringValue("Namespace")
+    String namespace();
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
index c5996d2..46ca07f 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/MainTabUserView.java
@@ -63,6 +63,20 @@
         
userNameColumn.makeSortable(VdcUserConditionFieldAutoCompleter.USER_NAME);
         getTable().addColumn(userNameColumn, constants.userNameUser(), 
"150px"); //$NON-NLS-1$
 
+        getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
+            @Override
+            public String getValue(DbUser object) {
+                return object.getNamespace();
+            }
+        }, constants.namespace(), "150px"); //$NON-NLS-1$
+
+        getTable().addColumn(new TextColumnWithTooltip<DbUser>() {
+            @Override
+            public String getValue(DbUser object) {
+                return object.getDomain();
+            }
+        }, constants.authzProvider(), "150px"); //$NON-NLS-1$
+
         TextColumnWithTooltip<DbUser> groupColumn = new 
TextColumnWithTooltip<DbUser>() {
             @Override
             public String getValue(DbUser object) {
diff --git a/packaging/dbscripts/create_functions.sql 
b/packaging/dbscripts/create_functions.sql
index 9d92dae..7205d79 100644
--- a/packaging/dbscripts/create_functions.sql
+++ b/packaging/dbscripts/create_functions.sql
@@ -10,6 +10,8 @@
 CREATE TYPE idTextType AS(id text);
 CREATE TYPE idUuidType AS(id UUID);
 CREATE TYPE booleanResultType AS(result BOOLEAN);
+DROP TYPE IF EXISTS authzEntryInfoType CASCADE;
+CREATE TYPE authzEntryInfoType AS(name text, namespace VARCHAR(2048), authz 
VARCHAR(255));
 
 
 CREATE OR REPLACE FUNCTION getGlobalIds(v_name VARCHAR(4000))
@@ -465,6 +467,27 @@
 END; $function$
 LANGUAGE plpgsql;
 
+
+CREATE OR REPLACE FUNCTION public.fn_authz_entry_info(v_ad_element_id IN uuid) 
RETURNS AuthzEntryInfoType STABLE AS
+$function$
+DECLARE
+    result authzEntryInfoType;
+
+BEGIN
+   if (v_ad_element_id = getGlobalIds('everyone')) then
+      select 'Everyone','*','' into result;
+   else
+      select(COALESCE(name,'') || ' ' || COALESCE(surname,'') || ' (' || 
COALESCE(username,'') || '@' || COALESCE(domain,'') || ')'), namespace, domain 
INTO result from users where user_id = v_ad_element_id;
+      if (result is null) then
+         select   name, namespace, domain INTO result from ad_groups where ID 
= v_ad_element_id;
+      end if;
+   end if;
+   return result;
+END; $function$
+LANGUAGE plpgsql;
+
+
+
 CREATE OR REPLACE FUNCTION public.fn_get_ad_element_name(v_ad_element_id IN 
uuid) RETURNS text STABLE AS
 $function$
 DECLARE
diff --git a/packaging/dbscripts/create_views.sql 
b/packaging/dbscripts/create_views.sql
index 5de1ed7..aa1f630 100644
--- a/packaging/dbscripts/create_views.sql
+++ b/packaging/dbscripts/create_views.sql
@@ -908,7 +908,7 @@
 
 SELECT     permissions.id as id, permissions.role_id as role_id, 
permissions.ad_element_id as ad_element_id, permissions.object_id as object_id, 
permissions.object_type_id as object_type_id,
               roles.name as role_name, roles.role_type as role_type, 
roles.allows_viewing_children as allows_viewing_children, roles.app_mode as 
app_mode, fn_get_entity_name(permissions.object_id,permissions.object_type_id) 
as object_name,
-                       fn_get_ad_element_name(permissions.ad_element_id) as 
owner_name
+                       (fn_authz_entry_info(permissions.ad_element_id)).name 
as owner_name, (fn_authz_entry_info(permissions.ad_element_id)).namespace as 
namespace, (fn_authz_entry_info(permissions.ad_element_id)).authz as authz
 FROM         permissions INNER JOIN
 roles ON permissions.role_id = roles.id;
 


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

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

Reply via email to