From 7cf0e96dc2913d27da566d57789a2b063bee0eed Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 28 Aug 2022 20:21:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=94=A8=E6=88=B7=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=EF=BC=8C=E5=8F=AF=E4=BB=A5=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=BC=80=E9=80=9A=E9=BB=98=E8=AE=A4=E5=8A=9F=E8=83=BD=E8=BF=98?= =?UTF-8?q?=E6=98=AF=E5=85=A8=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/actions/default/users/createPopup.go | 74 ++++++++++++++++--- web/views/@default/users/createPopup.html | 8 ++ 2 files changed, 71 insertions(+), 11 deletions(-) diff --git a/internal/web/actions/default/users/createPopup.go b/internal/web/actions/default/users/createPopup.go index 2f742d06..41f7ad6d 100644 --- a/internal/web/actions/default/users/createPopup.go +++ b/internal/web/actions/default/users/createPopup.go @@ -1,9 +1,12 @@ package users import ( + "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/utils/numberutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs" + "github.com/TeaOSLab/EdgeCommon/pkg/userconfigs" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" "github.com/xlzd/gotp" @@ -22,15 +25,16 @@ func (this *CreatePopupAction) RunGet(params struct{}) { } func (this *CreatePopupAction) RunPost(params struct { - Username string - Pass1 string - Pass2 string - Fullname string - Mobile string - Tel string - Email string - Remark string - ClusterId int64 + Username string + Pass1 string + Pass2 string + Fullname string + Mobile string + Tel string + Email string + Remark string + ClusterId int64 + FeaturesType string // OTP OtpOn bool @@ -38,6 +42,12 @@ func (this *CreatePopupAction) RunPost(params struct { Must *actions.Must CSRF *actionutils.CSRF }) { + var userId int64 + + defer func() { + this.CreateLogInfo("创建用户 %d", userId) + }() + params.Must. Field("username", params.Username). Require("请输入用户名"). @@ -97,9 +107,51 @@ func (this *CreatePopupAction) RunPost(params struct { return } - var userId = createResp.UserId + userId = createResp.UserId - defer this.CreateLogInfo("创建用户 %d", userId) + // 功能 + if params.FeaturesType == "default" { + resp, err := this.RPC().SysSettingRPC().ReadSysSetting(this.AdminContext(), &pb.ReadSysSettingRequest{Code: systemconfigs.SettingCodeUserRegisterConfig}) + if err != nil { + this.ErrorPage(err) + return + } + + var config = userconfigs.DefaultUserRegisterConfig() + if len(resp.ValueJSON) > 0 { + err = json.Unmarshal(resp.ValueJSON, config) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().UserRPC().UpdateUserFeatures(this.AdminContext(), &pb.UpdateUserFeaturesRequest{ + UserId: userId, + FeatureCodes: config.Features, + }) + if err != nil { + this.ErrorPage(err) + return + } + } + } else if params.FeaturesType == "all" { + featuresResp, err := this.RPC().UserRPC().FindAllUserFeatureDefinitions(this.AdminContext(), &pb.FindAllUserFeatureDefinitionsRequest{}) + if err != nil { + this.ErrorPage(err) + return + } + var featureCodes = []string{} + for _, def := range featuresResp.Features { + featureCodes = append(featureCodes, def.Code) + } + _, err = this.RPC().UserRPC().UpdateUserFeatures(this.AdminContext(), &pb.UpdateUserFeaturesRequest{ + UserId: userId, + FeatureCodes: featureCodes, + }) + if err != nil { + this.ErrorPage(err) + return + } + } // OTP if params.OtpOn { diff --git a/web/views/@default/users/createPopup.html b/web/views/@default/users/createPopup.html index fa0455c9..b8e05733 100644 --- a/web/views/@default/users/createPopup.html +++ b/web/views/@default/users/createPopup.html @@ -38,6 +38,14 @@

用户发布的网站服务会自动部署到此集群。

+ + 开通功能 + + 默认功能 +     + 全部功能 + +