From d0530265d7f0af807a34c8ccc9390b2aeaffedaf Mon Sep 17 00:00:00 2001 From: nit Date: Wed, 24 Nov 2010 19:33:15 +0530 Subject: [PATCH] bug 7046 : Global admins should be allowed to extract all the times. status 7046: resolved fixed --- server/src/com/cloud/server/ManagementServerImpl.java | 2 +- server/src/com/cloud/template/TemplateManagerImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 136dc669cfb..b80238daff4 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -5199,7 +5199,7 @@ public class ManagementServerImpl implements ManagementServer { VMTemplateVO template = ApiDBUtils.findTemplateById(volume.getTemplateId()); boolean isExtractable = template != null && template.isExtractable() && !(template.getTemplateType()== Storage.TemplateType.SYSTEM || template.getTemplateType()== Storage.TemplateType.BUILTIN); - if( !isExtractable ){ + if( !isExtractable && account!=null && account.getType() != Account.ACCOUNT_TYPE_ADMIN){ // Global admins are allowed to extract throw new PermissionDeniedException("The volume:" +volumeId+ " is not allowed to be extracted"); } diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index edf9ac0f31d..55af2930360 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -504,7 +504,7 @@ public class TemplateManagerImpl implements TemplateManager, Manager, TemplateSe throw new InvalidParameterValueException("Unsupported format, could not extract the template"); } } - if(!template.isExtractable()){ + if(!template.isExtractable() && account!=null && account.getType() != Account.ACCOUNT_TYPE_ADMIN){ // Global admins are always allowed to extract throw new PermissionDeniedException("The "+ desc + " is not allowed to be extracted" ); } if (_dcDao.findById(zoneId) == null) {