Certification Photo to log IP address in changelog

This commit is contained in:
Noah Petherbridge 2024-04-28 11:27:06 -07:00
parent 198849eebc
commit fdf0aee5da

View File

@ -2,6 +2,7 @@ package photo
import ( import (
"bytes" "bytes"
"fmt"
"io" "io"
"net/http" "net/http"
"path/filepath" "path/filepath"
@ -165,8 +166,25 @@ func Certification() http.HandlerFunc {
log.Error("Certification: failed to notify admins of pending photo: %s", err) log.Error("Certification: failed to notify admins of pending photo: %s", err)
} }
// Log the change. // Log the change. Note the original IP and GeoIP insights - we once saw a spammer upload
models.LogCreated(currentUser, "certification_photos", currentUser.ID, "Uploaded a new certification photo.") // their cert photo from Nigeria, and before we could reject it, they removed and reuploaded
// it from New York using a VPN. If it wasn't seen in real time, this might have slipped by.
var insights string
if i, err := geoip.GetRequestInsights(r); err == nil {
insights = i.String()
} else {
insights = "error: " + err.Error()
}
models.LogCreated(
currentUser,
"certification_photos",
currentUser.ID,
fmt.Sprintf(
"Uploaded a new certification photo.\n\n* From IP address: %s\n* GeoIP insight: %s",
cert.IPAddress,
insights,
),
)
session.Flash(w, r, "Your certification photo has been uploaded and is now awaiting approval.") session.Flash(w, r, "Your certification photo has been uploaded and is now awaiting approval.")
templates.Redirect(w, r.URL.Path) templates.Redirect(w, r.URL.Path)