Gilad Chaplik has uploaded a new change for review.

Change subject: core: add everyone permission for Disk Profile
......................................................................

core: add everyone permission for Disk Profile

When the system created a disk profile,
'everyone' permission for attach_disk_profile isn't added to the disk profile.

Signed-off-by: Gilad Chaplik <gchap...@redhat.com>
Bug-Url: https://bugzilla.redhat.com/1185615
Bug-Url: https://bugzilla.redhat.com/1160846
Change-Id: Ic5e583408118a54fa5a506c22edbab153c9d00d1
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/profiles/DiskProfileHelper.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
3 files changed, 16 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/69/37369/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/profiles/DiskProfileHelper.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/profiles/DiskProfileHelper.java
index 3eba525..38a2964 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/profiles/DiskProfileHelper.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/profiles/DiskProfileHelper.java
@@ -7,11 +7,14 @@
 import java.util.Map.Entry;
 import java.util.Set;
 
+import org.ovirt.engine.core.bll.MultiLevelAdministrationHandler;
+import org.ovirt.engine.core.bll.PredefinedRoles;
 import org.ovirt.engine.core.bll.ValidationResult;
 import org.ovirt.engine.core.common.FeatureSupported;
 import org.ovirt.engine.core.common.VdcObjectType;
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.DiskImage;
+import org.ovirt.engine.core.common.businessentities.Permissions;
 import org.ovirt.engine.core.common.businessentities.aaa.DbUser;
 import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
@@ -100,6 +103,13 @@
                         VdcObjectType.DiskProfile) != null;
     }
 
+    public static void addPermission(Guid diskProfileId) {
+        MultiLevelAdministrationHandler.addPermission(new 
Permissions(MultiLevelAdministrationHandler.EVERYONE_OBJECT_ID,
+                PredefinedRoles.DISK_PROFILE_USER.getId(),
+                diskProfileId,
+                VdcObjectType.DiskProfile));
+    }
+
     private static DiskProfileDao getDiskProfileDao() {
         return DbFacade.getInstance().getDiskProfileDao();
     }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
index 514b184..fa895d8 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AddStorageDomainCommand.java
@@ -23,6 +23,7 @@
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.StorageServerConnections;
 import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.common.businessentities.profiles.DiskProfile;
 import org.ovirt.engine.core.common.constants.StorageConstants;
 import org.ovirt.engine.core.common.errors.VdcBllErrors;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
@@ -78,8 +79,10 @@
                 
DbFacade.getInstance().getStorageDomainStaticDao().save(storageStaticData);
                 // create default disk profile for type master or data storage 
domains
                 if (storageStaticData.getStorageDomainType().isDataDomain()) {
-                    
getDiskProfileDao().save(DiskProfileHelper.createDiskProfile(storageStaticData.getId(),
-                            storageStaticData.getStorageName()));
+                    DiskProfile diskProfile = 
DiskProfileHelper.createDiskProfile(storageStaticData.getId(),
+                            storageStaticData.getStorageName());
+                    getDiskProfileDao().save(diskProfile);
+                    DiskProfileHelper.addPermission(diskProfile.getId());
                 }
                 getCompensationContext().snapshotNewEntity(storageStaticData);
                 StorageDomainDynamic newStorageDynamic =
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
index f85a080..2ce5e75 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/AttachStorageDomainToPoolCommand.java
@@ -221,6 +221,7 @@
                     getDiskProfileDao().save(diskProfile);
                     getCompensationContext().snapshotNewEntity(diskProfile);
                     getCompensationContext().stateChanged();
+                    DiskProfileHelper.addPermission(diskProfile.getId());
                     return null;
                 }
             });


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic5e583408118a54fa5a506c22edbab153c9d00d1
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to