From 7613e287ede14a16ad84b1154cf39ec5e65e26b8 Mon Sep 17 00:00:00 2001 From: Qiu Jian Date: Wed, 17 Mar 2021 22:58:15 +0800 Subject: [PATCH] fix(region): scoped policy filter by project id --- pkg/yunionconf/models/scopedpolicybindings.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/yunionconf/models/scopedpolicybindings.go b/pkg/yunionconf/models/scopedpolicybindings.go index 231d4af706..e5b9c3f4b8 100644 --- a/pkg/yunionconf/models/scopedpolicybindings.go +++ b/pkg/yunionconf/models/scopedpolicybindings.go @@ -258,7 +258,10 @@ func filterByOwnerId(q *sqlchemy.SQuery, domainId, projectId string, effective b if len(projectId) > 0 { q = q.Filter(sqlchemy.OR( sqlchemy.AND(sqlchemy.IsNullOrEmpty(q.Field("domain_id")), sqlchemy.IsNullOrEmpty(q.Field("project_id"))), - sqlchemy.AND(sqlchemy.Equals(q.Field("domain_id"), api.ANY_DOMAIN_ID), sqlchemy.Equals(q.Field("project_id"), api.ANY_PROJECT_ID)), + sqlchemy.AND(sqlchemy.Equals(q.Field("domain_id"), api.ANY_DOMAIN_ID), sqlchemy.OR( + sqlchemy.Equals(q.Field("project_id"), api.ANY_PROJECT_ID), + sqlchemy.IsNullOrEmpty(q.Field("project_id")), + )), sqlchemy.AND(sqlchemy.Equals(q.Field("domain_id"), domainId), sqlchemy.OR( sqlchemy.IsNullOrEmpty(q.Field("project_id")), sqlchemy.Equals(q.Field("project_id"), api.ANY_PROJECT_ID),