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}}