Merge pull request #801 in YUNIONIO/onecloud from ~QUXUAN/onecloud:hotfix/qx-cloudaccount-project-info to release/2.3.0

* commit '55094be4c27f6ea7842f2fda20d57f7ac1430502':
  添加cloudaccount项目信息
This commit is contained in:
邱剑
2018-12-20 23:35:37 +08:00
+15 -1
View File
@@ -527,7 +527,21 @@ func (manager *SCloudaccountManager) FetchCloudaccountByIdOrName(accountId strin
}
func (self *SCloudaccount) getMoreDetails(extra *jsonutils.JSONDict) *jsonutils.JSONDict {
extra.Add(jsonutils.Marshal(self.GetCloudproviders()), "accounts")
providers := self.GetCloudproviders()
extra.Add(jsonutils.Marshal(providers), "accounts")
projectIds := []string{}
for i := 0; i < len(providers); i++ {
if len(providers[i].ProjectId) > 0 && !utils.IsInStringArray(providers[i].ProjectId, projectIds) {
projectIds = append(projectIds, providers[i].ProjectId)
}
}
projects := jsonutils.NewArray()
for _, projectId := range projectIds {
if proj, _ := db.TenantCacheManager.FetchTenantById(context.Background(), projectId); proj != nil {
projects.Add(jsonutils.Marshal(map[string]string{"tenant_id": projectId, "telnet": proj.Name}))
}
}
extra.Add(projects, "projects")
return extra
}