1
0
Fork 0
forked from forgejo/forgejo

Show outdated comments in files changed tab (#24936) (#25428)

Backport #24936

If enabled show a clickable label in the comment. A click on the label
opens the Conversation tab with the comment focussed - there you're able
to view the old diff (or original diff the comment was created on).

**Screenshots**


![image](63ab9571-a9ee-4900-9f02-94ab0095f9e7)


![image](78f7c225-8d76-46f5-acfd-9b8aab988a6c)

When resolved and outdated:


![image](6ece9ebd-c792-4aa5-9c35-628694e9d093)

Option to enable/disable this (stored in user settings - default is
disabled):


![image](ed99dfe4-76dc-4c12-bd96-e7e62da50ab5)


![image](e837a052-e92e-4a28-906d-9db5bacf93a6)

fixes #24913

Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
sebastian-sauer 2023-06-22 10:34:42 +02:00 committed by GitHub
parent cb3173a1e9
commit 30a783879f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 115 additions and 38 deletions

View file

@ -5,6 +5,7 @@ package repo
import (
"fmt"
"strconv"
system_model "code.gitea.io/gitea/models/system"
user_model "code.gitea.io/gitea/models/user"
@ -88,3 +89,27 @@ func SetWhitespaceBehavior(ctx *context.Context) {
ctx.Data["WhitespaceBehavior"] = whitespaceBehavior
}
}
// SetShowOutdatedComments set the show outdated comments option as context variable
func SetShowOutdatedComments(ctx *context.Context) {
showOutdatedCommentsValue := ctx.FormString("show-outdated")
// var showOutdatedCommentsValue string
if showOutdatedCommentsValue != "true" && showOutdatedCommentsValue != "false" {
// invalid or no value for this form string -> use default or stored user setting
if ctx.IsSigned {
showOutdatedCommentsValue, _ = user_model.GetUserSetting(ctx.Doer.ID, user_model.SettingsKeyShowOutdatedComments, "false")
} else {
// not logged in user -> use the default value
showOutdatedCommentsValue = "false"
}
} else {
// valid value -> update user setting if user is logged in
if ctx.IsSigned {
_ = user_model.SetUserSetting(ctx.Doer.ID, user_model.SettingsKeyShowOutdatedComments, showOutdatedCommentsValue)
}
}
showOutdatedComments, _ := strconv.ParseBool(showOutdatedCommentsValue)
ctx.Data["ShowOutdatedComments"] = showOutdatedComments
}