mirror of https://github.com/apache/cloudstack.git
bug 11493: no need to do cross domain checks for the templates as domain level templates are not supported. We support only public (everybody can see and use) and private (only owner can see and use unless changed with updateTemplatePermissions call)
status 11493: resolved fixed Reviewed-by: will@cloud.com
This commit is contained in:
parent
ed18018473
commit
36344a3395
|
|
@ -841,8 +841,7 @@ public class TemplateManagerImpl implements TemplateManager, Manager, TemplateSe
|
|||
}
|
||||
|
||||
//check permissions
|
||||
_accountMgr.checkAccess(caller, null, iso);
|
||||
_accountMgr.checkAccess(caller, null, vm);
|
||||
_accountMgr.checkAccess(caller, null, iso, vm);
|
||||
|
||||
State vmState = vm.getState();
|
||||
if (vmState != State.Running && vmState != State.Stopped) {
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ import com.cloud.storage.dao.VMTemplateDao;
|
|||
import com.cloud.storage.dao.VolumeDao;
|
||||
import com.cloud.storage.snapshot.SnapshotManager;
|
||||
import com.cloud.template.TemplateManager;
|
||||
import com.cloud.template.VirtualMachineTemplate;
|
||||
import com.cloud.user.Account.State;
|
||||
import com.cloud.user.dao.AccountDao;
|
||||
import com.cloud.user.dao.UserAccountDao;
|
||||
|
|
@ -823,8 +824,9 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
|
|||
Account account = ApiDBUtils.findAccountById(entity.getAccountId());
|
||||
domainId = account != null ? account.getDomainId() : -1 ;
|
||||
}
|
||||
if (entity.getAccountId() != -1 && domainId != -1) {
|
||||
if (entity.getAccountId() != -1 && domainId != -1 && !(entity instanceof VirtualMachineTemplate)) {
|
||||
List<ControlledEntity> toBeChecked = domains.get(entity.getDomainId());
|
||||
//for templates, we don't have to do cross domains check
|
||||
if (toBeChecked == null) {
|
||||
toBeChecked = new ArrayList<ControlledEntity>();
|
||||
domains.put(domainId, toBeChecked);
|
||||
|
|
|
|||
Loading…
Reference in New Issue