mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 02:37:24 +08:00
fix: 避免名称重复
This commit is contained in:
@@ -1117,7 +1117,7 @@ func (self *SCloudaccount) GetOrCreateCloudgroup(ctx context.Context, userCred m
|
||||
policyIds = append(policyIds, policy.Id)
|
||||
}
|
||||
}
|
||||
group, err := CloudgroupManager.newCloudgroup(ctx, userCred, iGroup, self.Provider, self.DomainId)
|
||||
group, err := CloudgroupManager.newCloudgroup(ctx, userCred, self.GetOwnerId(), iGroup, self.Provider)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "newCloudgroup")
|
||||
}
|
||||
|
||||
@@ -204,17 +204,22 @@ func (self *SCloudgroup) PostCreate(ctx context.Context, userCred mcclient.Token
|
||||
}
|
||||
}
|
||||
|
||||
func (manager *SCloudgroupManager) newCloudgroup(ctx context.Context, userCred mcclient.TokenCredential, iGroup cloudprovider.ICloudgroup, provider, domainId string) (*SCloudgroup, error) {
|
||||
func (manager *SCloudgroupManager) newCloudgroup(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, iGroup cloudprovider.ICloudgroup, provider string) (*SCloudgroup, error) {
|
||||
lockman.LockClass(ctx, manager, db.GetLockClassKey(manager, userCred))
|
||||
defer lockman.ReleaseClass(ctx, manager, db.GetLockClassKey(manager, userCred))
|
||||
|
||||
var err error
|
||||
group := &SCloudgroup{}
|
||||
group.Name = iGroup.GetName()
|
||||
group.Name, err = db.GenerateName(manager, ownerId, iGroup.GetName())
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "db.GenerateName")
|
||||
}
|
||||
group.Description = iGroup.GetDescription()
|
||||
group.Provider = provider
|
||||
group.DomainId = domainId
|
||||
group.DomainId = ownerId.GetProjectDomainId()
|
||||
group.Status = api.CLOUD_GROUP_STATUS_AVAILABLE
|
||||
group.SetModelManager(manager, group)
|
||||
err := manager.TableSpec().Insert(ctx, group)
|
||||
err = manager.TableSpec().Insert(ctx, group)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "Insert")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user