diff --git a/pkg/cloudcommon/db/scoperesource.go b/pkg/cloudcommon/db/scoperesource.go index 16f16a75c4..4f55c655f7 100644 --- a/pkg/cloudcommon/db/scoperesource.go +++ b/pkg/cloudcommon/db/scoperesource.go @@ -45,7 +45,7 @@ func (m *SScopedResourceBaseManager) FilterByOwner(q *sqlchemy.SQuery, userCred switch scope { case rbacutils.ScopeDomain: q = q.Filter(sqlchemy.OR( - sqlchemy.Equals(q.Field("domain_id"), userCred.GetDomainId()), + sqlchemy.Equals(q.Field("domain_id"), userCred.GetProjectDomainId()), sqlchemy.IsNullOrEmpty(q.Field("domain_id")), )) case rbacutils.ScopeProject: @@ -57,6 +57,10 @@ func (m *SScopedResourceBaseManager) FilterByOwner(q *sqlchemy.SQuery, userCred return q } +func (m *SScopedResourceBaseManager) FetchOwnerId(ctx context.Context, data jsonutils.JSONObject) (mcclient.IIdentityProvider, error) { + return FetchProjectInfo(ctx, data) +} + func (m *SScopedResourceBaseManager) ValidateCreateData(man IScopedResourceManager, ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, input api.ScopedResourceCreateInput) (api.ScopedResourceCreateInput, error) { if input.Scope == "" { input.Scope = string(rbacutils.ScopeSystem)