mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
use httperrors lib
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/log"
|
||||
"yunion.io/x/onecloud/pkg/httperrors"
|
||||
"yunion.io/x/onecloud/pkg/util/httputils"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
@@ -217,12 +218,6 @@ func (this *DomainManager) DoDomainConfigDelete(s *mcclient.ClientSession, param
|
||||
ids, _ := params.GetArray("ids")
|
||||
domains := jsonutils.JSONArray2StringArray(ids)
|
||||
|
||||
E := httputils.JSONClientError{
|
||||
Code: 403,
|
||||
Class: "",
|
||||
Details: "",
|
||||
}
|
||||
|
||||
for _, domain := range domains {
|
||||
objId, err := this.GetId(s, domain, nil)
|
||||
if err != nil {
|
||||
@@ -242,25 +237,21 @@ func (this *DomainManager) DoDomainConfigDelete(s *mcclient.ClientSession, param
|
||||
detail, err := this.GetById(s, domain, nil)
|
||||
if err != nil {
|
||||
log.Errorf("got domain detail error: %v", err)
|
||||
E.Details = "找不到该认证域"
|
||||
return ret, &E
|
||||
return ret, httperrors.NewResourceNotFoundError("找不到该认证域")
|
||||
}
|
||||
|
||||
driver, err := detail.GetString("driver")
|
||||
if err != nil {
|
||||
log.Errorf("got driver from domain detail error: %v", err)
|
||||
E.Details = "服务器错误,获取认证协议失败,不允许删除"
|
||||
return ret, &E
|
||||
return ret, httperrors.NewInternalServerError("服务器错误,获取认证协议失败,不允许删除")
|
||||
}
|
||||
|
||||
if driver != "ldap" {
|
||||
if result, err := UsersV3.List(s, params); err != nil {
|
||||
log.Errorf("user list got error: %v", err)
|
||||
E.Details = "服务器错误,获取认证域用户列表失败,不允许删除"
|
||||
return ret, &E
|
||||
return ret, httperrors.NewInternalServerError("服务器错误,获取认证域用户列表失败,不允许删除")
|
||||
} else if len(result.Data) > 0 {
|
||||
E.Details = fmt.Sprintf("域名%s下存在%d名用户,不允许删除.", objId, len(result.Data))
|
||||
return ret, &E
|
||||
return ret, httperrors.NewForbiddenError(fmt.Sprintf("域名%s下存在%d名用户,不允许删除.", objId, len(result.Data)))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user