diff options
author | Giteabot <teabot@gitea.io> | 2024-05-03 22:43:16 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-03 14:43:16 +0000 |
commit | a82e6301f77d3dce95e7945a05429e3d594bd246 (patch) | |
tree | eabfb11273f16ae9c20fd9b61295a98d59502529 /models/issues | |
parent | 1f9a9fab5fbd48a634918f64bb579ae05405ff56 (diff) | |
download | gitea-a82e6301f77d3dce95e7945a05429e3d594bd246.tar.gz gitea-a82e6301f77d3dce95e7945a05429e3d594bd246.zip |
Fix no edit history after editing issue's title and content (#30814) (#30845)
Backport #30814 by @yp05327
Fix #30807
reuse functions in services
Co-authored-by: yp05327 <576951401@qq.com>
Diffstat (limited to 'models/issues')
-rw-r--r-- | models/issues/issue_update.go | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/models/issues/issue_update.go b/models/issues/issue_update.go index ef96e1ee50..147b7eb3b9 100644 --- a/models/issues/issue_update.go +++ b/models/issues/issue_update.go @@ -429,62 +429,6 @@ func UpdateIssueMentions(ctx context.Context, issueID int64, mentions []*user_mo return nil } -// UpdateIssueByAPI updates all allowed fields of given issue. -// If the issue status is changed a statusChangeComment is returned -// similarly if the title is changed the titleChanged bool is set to true -func UpdateIssueByAPI(ctx context.Context, issue *Issue, doer *user_model.User) (statusChangeComment *Comment, titleChanged bool, err error) { - ctx, committer, err := db.TxContext(ctx) - if err != nil { - return nil, false, err - } - defer committer.Close() - - if err := issue.LoadRepo(ctx); err != nil { - return nil, false, fmt.Errorf("loadRepo: %w", err) - } - - // Reload the issue - currentIssue, err := GetIssueByID(ctx, issue.ID) - if err != nil { - return nil, false, err - } - - if _, err := db.GetEngine(ctx).ID(issue.ID).Cols( - "name", "content", "milestone_id", "priority", - "deadline_unix", "updated_unix", "is_locked"). - Update(issue); err != nil { - return nil, false, err - } - - titleChanged = currentIssue.Title != issue.Title - if titleChanged { - opts := &CreateCommentOptions{ - Type: CommentTypeChangeTitle, - Doer: doer, - Repo: issue.Repo, - Issue: issue, - OldTitle: currentIssue.Title, - NewTitle: issue.Title, - } - _, err := CreateComment(ctx, opts) - if err != nil { - return nil, false, fmt.Errorf("createComment: %w", err) - } - } - - if currentIssue.IsClosed != issue.IsClosed { - statusChangeComment, err = doChangeIssueStatus(ctx, issue, doer, false) - if err != nil { - return nil, false, err - } - } - - if err := issue.AddCrossReferences(ctx, doer, true); err != nil { - return nil, false, err - } - return statusChangeComment, titleChanged, committer.Commit() -} - // UpdateIssueDeadline updates an issue deadline and adds comments. Setting a deadline to 0 means deleting it. func UpdateIssueDeadline(ctx context.Context, issue *Issue, deadlineUnix timeutil.TimeStamp, doer *user_model.User) (err error) { // if the deadline hasn't changed do nothing |