[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15037422#comment-15037422
 ] 

ASF GitHub Bot commented on CLOUDSTACK-6276:
--------------------------------------------

Github user ustcweizhou commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1134#discussion_r46519549
  
    --- Diff: 
server/src/org/apache/cloudstack/affinity/AffinityGroupServiceImpl.java ---
    @@ -229,59 +205,99 @@ public AffinityGroupVO 
doInTransaction(TransactionStatus status) {
                     return group;
                 }
             });
    +    }
     
    -        if (s_logger.isDebugEnabled()) {
    -            s_logger.debug("Created affinity group =" + affinityGroupName);
    +    private DomainVO getDomain(Long domainId) {
    +        DomainVO domain = _domainDao.findById(domainId);
    +        if (domain == null) {
    +            throw new InvalidParameterValueException("Unable to find 
domain by specified id");
             }
    +        return domain;
    +    }
     
    -        return group;
    +    private void verifyAffinityGroupNameInUse(long accountId, long 
domainId, String affinityGroupName) {
    +        if (_affinityGroupDao.isNameInUse(accountId, domainId, 
affinityGroupName)) {
    +            throw new InvalidParameterValueException("Unable to create 
affinity group, a group with name " + affinityGroupName + " already exists.");
    +        }
    +    }
    +
    +    private void verifyDomainLevelAffinityGroupName(boolean domainLevel, 
long domainId, String affinityGroupName) {
    +        if (domainLevel && 
_affinityGroupDao.findDomainLevelGroupByName(domainId, affinityGroupName) != 
null) {
    +            throw new InvalidParameterValueException("Unable to create 
affinity group, a group with name " + affinityGroupName + " already exists 
under the domain.");
    +        }
         }
     
         @DB
    -    @Override
         @ActionEvent(eventType = EventTypes.EVENT_AFFINITY_GROUP_DELETE, 
eventDescription = "Deleting affinity group")
    -    public boolean deleteAffinityGroup(Long affinityGroupId, String 
account, Long domainId, String affinityGroupName) {
    +    public boolean deleteAffinityGroup(Long affinityGroupId, String 
account, Long projectId, Long domainId, String affinityGroupName) {
    +
    +        AffinityGroupVO group = getAffinityGroup(affinityGroupId, account, 
projectId, domainId, affinityGroupName);
     
    +        // check permissions
             Account caller = CallContext.current().getCallingAccount();
    -        Account owner = _accountMgr.finalizeOwner(caller, account, 
domainId, null);
    +        _accountMgr.checkAccess(caller, AccessType.OperateEntry, true, 
group);
    --- End diff --
    
    why not AccessType.ModifyProject ?
    If AccessType.OperateEntry, all normal uses (not only admin) can delete the 
affinity group.


> Affinity Groups within projects
> -------------------------------
>
>                 Key: CLOUDSTACK-6276
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6276
>             Project: CloudStack
>          Issue Type: New Feature
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server
>            Reporter: Ingo Jochim
>
> Hello,
> I like to have the features "Affinity Group" and "Project" combined.
> As far as I know I cannot use Affinity Groups within Projects.
> Thanks and regards,
> Ingo



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to