commit 2e663db64b7fe8d1e05be4c28bf920c4eea181aa
parent 26f106ea578c517618a98b9c6d05027e36839e8e
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 12 Dec 2022 21:46:13 -0500
cleanup duplicated code
Diffstat:
5 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/pkg/web/handlers/api/v1/uploadInterceptor.go b/pkg/web/handlers/api/v1/uploadInterceptor.go
@@ -4,6 +4,7 @@ import (
"dkforest/pkg/config"
"dkforest/pkg/database"
"dkforest/pkg/utils"
+ hutils "dkforest/pkg/web/handlers/utils"
"errors"
"github.com/asaskevich/govalidator"
"github.com/sirupsen/logrus"
@@ -28,7 +29,7 @@ func (i UploadInterceptor) InterceptMsg(cmd *Command) {
func handleUploadedFile(file multipart.File, handler *multipart.FileHeader, authUser *database.User) (*database.Upload, error) {
defer file.Close()
if !authUser.CanUpload() {
- return nil, errors.New("account must be at least 3 days old to upload files")
+ return nil, hutils.AccountTooYoungErr
}
userSizeUploaded := database.GetUserTotalUploadSize(authUser.ID)
if handler.Size+userSizeUploaded > 100<<20 {
diff --git a/pkg/web/handlers/data.go b/pkg/web/handlers/data.go
@@ -716,6 +716,7 @@ type settingsPasswordData struct {
}
type settingsAccountData struct {
+ AccountTooYoungErrorString string
ActiveTab string
Username string
Website string
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -1765,7 +1765,7 @@ func ThreadReplyHandler(c echo.Context) error {
}
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
threadUUID := database.ForumThreadUUID(c.Param("threadUUID"))
@@ -1831,7 +1831,7 @@ func ThreadDeleteMessageHandler(c echo.Context) error {
}
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
messageUUID := database.ForumMessageUUID(c.Param("messageUUID"))
msg, err := database.GetForumMessageByUUID(messageUUID)
@@ -1955,7 +1955,7 @@ func ThreadEditHandler(c echo.Context) error {
}
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
if !authUser.IsAdmin {
return c.Redirect(http.StatusFound, c.Request().Referer())
@@ -1983,7 +1983,7 @@ func ThreadDeleteHandler(c echo.Context) error {
}
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
threadUUID := database.ForumThreadUUID(c.Param("threadUUID"))
thread, err := database.GetForumThreadByUUID(threadUUID)
@@ -2014,7 +2014,7 @@ func ThreadEditMessageHandler(c echo.Context) error {
}
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
threadUUID := database.ForumThreadUUID(c.Param("threadUUID"))
messageUUID := database.ForumMessageUUID(c.Param("messageUUID"))
@@ -2089,7 +2089,7 @@ func NewThreadHandler(c echo.Context) error {
}
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
var data newThreadData
@@ -2672,7 +2672,7 @@ func SettingsUploadsHandler(c echo.Context) error {
func SettingsPublicNotesHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
var data settingsPublicNotesData
data.ActiveTab = "notes"
@@ -2693,7 +2693,7 @@ func SettingsPublicNotesHandler(c echo.Context) error {
func SettingsPrivateNotesHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUseForumFn() {
- return c.Render(http.StatusOK, "flash", FlashResponse{Message: "Account must be at least 3 days old", Redirect: c.Request().Referer(), Type: "alert-danger"})
+ return c.Render(http.StatusOK, "flash", FlashResponse{Message: hutils.AccountTooYoungErr.Error(), Redirect: c.Request().Referer(), Type: "alert-danger"})
}
var data settingsPrivateNotesData
data.ActiveTab = "notes"
@@ -2807,6 +2807,7 @@ func SettingsSessionsHandler(c echo.Context) error {
func SettingsAccountHandler(c echo.Context) error {
authUser := c.Get("authUser").(*database.User)
var data settingsAccountData
+ data.AccountTooYoungErrorString = hutils.AccountTooYoungErr.Error()
data.ActiveTab = "account"
data.Username = authUser.Username
data.Email = authUser.Email
@@ -2963,7 +2964,7 @@ func editProfileForm(c echo.Context, data settingsAccountData) error {
func changeAvatarForm(c echo.Context, data settingsAccountData) error {
authUser := c.Get("authUser").(*database.User)
if !authUser.CanUpload() {
- data.ErrorAvatar = "Account must be at least 3 days old"
+ data.ErrorAvatar = hutils.AccountTooYoungErr.Error()
return c.Render(http.StatusOK, "settings.account", data)
}
if err := c.Request().ParseMultipartForm(1024 * 1024 /* 1 MB */); err != nil {
diff --git a/pkg/web/handlers/utils/utils.go b/pkg/web/handlers/utils/utils.go
@@ -23,6 +23,8 @@ const (
ByteRoadCookieName = "challenge_byte_road_session"
)
+var AccountTooYoungErr = errors.New("account must be at least 3 days old")
+
func CreateCookie(name, value string, maxAge int64) *http.Cookie {
cookie := &http.Cookie{
Name: name,
diff --git a/pkg/web/public/views/pages/settings/account.gohtml b/pkg/web/public/views/pages/settings/account.gohtml
@@ -62,7 +62,7 @@
<td>
<div class="form-group">
{{ if not .AuthUser.CanUpload }}
- <p>Account must be at least 3 days old</p>
+ <p>{{ .Data.AccountTooYoungErrorString }}</p>
{{ end }}
<p>
The maximum dimensions for avatars are: 120x120 pixels.<br />