diff --git a/internal/service/post_service.go b/internal/service/post_service.go index 2916107..b24ca98 100644 --- a/internal/service/post_service.go +++ b/internal/service/post_service.go @@ -251,6 +251,9 @@ func (s *PostService) SubmitForAudit(postID uint) error { if err != nil { return err } + if post.IsLocked { + return common.ErrPostCannotEdit + } if post.Status != model.PostStatusDraft && post.Status != model.PostStatusRejected { return common.ErrPostCannotSubmit } diff --git a/templates/MetaLab-2026/html/posts/show.html b/templates/MetaLab-2026/html/posts/show.html index dfc7996..18818aa 100644 --- a/templates/MetaLab-2026/html/posts/show.html +++ b/templates/MetaLab-2026/html/posts/show.html @@ -36,7 +36,7 @@ {{if and $.Post (or (eq $.Post.UserID $.UID) $.CanAccessAdmin) (ne $.Post.Status "pending") (not $.Post.IsLocked)}} 编辑 {{end}} - {{if and $.Post (eq $.Post.UserID $.UID) (or (eq $.Post.Status "draft") (eq $.Post.Status "rejected"))}} + {{if and $.Post (eq $.Post.UserID $.UID) (or (eq $.Post.Status "draft") (eq $.Post.Status "rejected")) (not $.Post.IsLocked)}} {{end}}