diff --git a/internal/web/actions/default/clusters/cluster/node/update.go b/internal/web/actions/default/clusters/cluster/node/update.go index 60ca4f18..7c2722a6 100644 --- a/internal/web/actions/default/clusters/cluster/node/update.go +++ b/internal/web/actions/default/clusters/cluster/node/update.go @@ -10,6 +10,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" + "github.com/iwind/TeaGo/types" ) type UpdateAction struct { @@ -132,6 +133,8 @@ func (this *UpdateAction) RunGet(params struct { this.Data["node"] = nodeMap + this.Data["canUpdateLevel"] = this.CanUpdateLevel(2) + this.Show() } @@ -188,6 +191,10 @@ func (this *UpdateAction) RunPost(params struct { } // 保存 + if !this.CanUpdateLevel(params.Level) { + this.Fail("没有权限修改节点级别:" + types.String(params.Level)) + } + _, err := this.RPC().NodeRPC().UpdateNode(this.AdminContext(), &pb.UpdateNodeRequest{ NodeId: params.NodeId, NodeGroupId: params.GroupId, diff --git a/internal/web/actions/default/clusters/cluster/node/update_hook.go b/internal/web/actions/default/clusters/cluster/node/update_hook.go new file mode 100644 index 00000000..a4d16e3e --- /dev/null +++ b/internal/web/actions/default/clusters/cluster/node/update_hook.go @@ -0,0 +1,9 @@ +// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. +//go:build !plus +// +build !plus + +package node + +func (this *UpdateAction) CanUpdateLevel(level int32) bool { + return level <= 1 +} diff --git a/web/views/@default/clusters/cluster/node/update.html b/web/views/@default/clusters/cluster/node/update.html index a8cae1fc..95dfbdd5 100644 --- a/web/views/@default/clusters/cluster/node/update.html +++ b/web/views/@default/clusters/cluster/node/update.html @@ -48,7 +48,7 @@