You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mc...@apache.org on 2014/01/27 22:31:55 UTC

[2/2] git commit: updated refs/heads/master to f77974b

CLOUDSTACK-5960: Domain admin or user cannot register a template using
S3/Swift object store.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/cfe78646
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/cfe78646
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/cfe78646

Branch: refs/heads/master
Commit: cfe7864618ad9a64e4ef294bc3b292f458815cbd
Parents: b7d6495
Author: Min Chen <mi...@citrix.com>
Authored: Mon Jan 27 11:54:38 2014 -0800
Committer: Min Chen <mi...@citrix.com>
Committed: Mon Jan 27 13:31:35 2014 -0800

----------------------------------------------------------------------
 server/src/com/cloud/template/TemplateAdapterBase.java | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/cfe78646/server/src/com/cloud/template/TemplateAdapterBase.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/template/TemplateAdapterBase.java b/server/src/com/cloud/template/TemplateAdapterBase.java
index 59aab3b..0ac434c 100755
--- a/server/src/com/cloud/template/TemplateAdapterBase.java
+++ b/server/src/com/cloud/template/TemplateAdapterBase.java
@@ -176,8 +176,14 @@ public abstract class TemplateAdapterBase extends AdapterBase implements Templat
         }
 
         boolean isAdmin = _accountDao.findById(templateOwner.getId()).getType() == Account.ACCOUNT_TYPE_ADMIN;
-
-        if (!isAdmin && zoneId == null) {
+        boolean isRegionStore = false;
+        List<ImageStoreVO> stores = _imgStoreDao.findRegionImageStores();
+        if (stores != null && stores.size() > 0) {
+            isRegionStore = true;
+        }
+        
+        if (!isAdmin && zoneId == null && !isRegionStore ) {
+            // domain admin and user should also be able to register template on a region store
             throw new InvalidParameterValueException("Please specify a valid zone Id.");
         }