From 7e8b8e6cd05efe5098a662610a31571a9eaca684 Mon Sep 17 00:00:00 2001 From: Min Chen Date: Mon, 27 Jan 2014 11:54:38 -0800 Subject: [PATCH] CLOUDSTACK-5960: Domain admin or user cannot register a template using S3/Swift object store.(cherry picked from commit 6d1475182cd9ea17010a142043dd9fe9c923cf81) Signed-off-by: Animesh Chaturvedi --- server/src/com/cloud/template/TemplateAdapterBase.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/template/TemplateAdapterBase.java b/server/src/com/cloud/template/TemplateAdapterBase.java index 6194e6e1f4c..c75c1e4137b 100755 --- a/server/src/com/cloud/template/TemplateAdapterBase.java +++ b/server/src/com/cloud/template/TemplateAdapterBase.java @@ -162,8 +162,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 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."); }