feat: Add audit logging (#38189)

Co-authored-by: bircni <bircni@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
bircni
2026-09-12 10:15:23 +02:00
committed by GitHub
parent 4d43445532
commit da37b7916b
136 changed files with 3864 additions and 209 deletions
+9
View File
@@ -8,12 +8,14 @@ import (
"net/http"
"net/url"
audit_model "gitea.dev/models/audit"
"gitea.dev/models/db"
user_model "gitea.dev/models/user"
"gitea.dev/modules/log"
"gitea.dev/modules/optional"
"gitea.dev/modules/setting"
"gitea.dev/modules/templates"
"gitea.dev/services/audit"
"gitea.dev/services/context"
"gitea.dev/services/user"
)
@@ -129,6 +131,13 @@ func ActivateEmail(ctx *context.Context) {
ctx.Flash.Error(ctx.Tr("admin.emails.not_updated", err))
}
} else {
// the email already changed, so a failed lookup must not fail the request
if u, err := user_model.GetUserByID(ctx, uid); err != nil {
log.Error("GetUserByID(%d) for audit: %v", uid, err)
} else {
audit.Record(ctx, audit_model.UserEmailActivate, u, "email", email, "activated", activate)
}
log.Info("Activation for User ID: %d, email: %s, primary: %v changed to %v", uid, email, primary, activate)
ctx.Flash.Info(ctx.Tr("admin.emails.updated"))
}