From 6b183bac942000ecb7021c798d84490b8e140725 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Sat, 7 Mar 2020 15:35:35 +0800 Subject: [PATCH] fix: scoped resource should override FetchOwnerId --- pkg/cloudcommon/db/scoperesource.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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)