From caa7e499f37c483c6a83794247c0d38b176dbcd1 Mon Sep 17 00:00:00 2001 From: akuma06 Date: Mon, 3 Jul 2017 01:22:54 +0200 Subject: [PATCH] Final fix for nil pointer --- controllers/helpers.go | 3 +++ utils/cookies/user.go | 3 +++ utils/publicSettings/publicSettings.go | 8 ++++---- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/controllers/helpers.go b/controllers/helpers.go index c56fec94..152de525 100644 --- a/controllers/helpers.go +++ b/controllers/helpers.go @@ -48,5 +48,8 @@ func newSearchForm(c *gin.Context) searchForm { } func getUser(c *gin.Context) *models.User { user, _, _ := cookies.CurrentUser(c) + if user == nil { + return &models.User{} + } return user } diff --git a/utils/cookies/user.go b/utils/cookies/user.go index 7b4cd5c5..3223652f 100644 --- a/utils/cookies/user.go +++ b/utils/cookies/user.go @@ -36,6 +36,9 @@ type CurrentUserRetriever struct{} // RetrieveCurrentUser retrieve current user for languages func (*CurrentUserRetriever) RetrieveCurrentUser(c *gin.Context) (*models.User, error) { user, _, err := CurrentUser(c) + if user == nil { + return &models.User{}, err + } return user, err } diff --git a/utils/publicSettings/publicSettings.go b/utils/publicSettings/publicSettings.go index fcd6b1f2..0887ffe0 100644 --- a/utils/publicSettings/publicSettings.go +++ b/utils/publicSettings/publicSettings.go @@ -109,7 +109,7 @@ func GetDefaultTfunc() (i18n.TranslateFunc, error) { func GetTfuncAndLanguageFromRequest(c *gin.Context) (T i18n.TranslateFunc, Tlang *language.Language) { userLanguage := "" user, _ := getCurrentUser(c) - if user != nil { + if user.ID > 0 { userLanguage = user.Language } @@ -136,7 +136,7 @@ func GetTfuncFromRequest(c *gin.Context) TemplateTfunc { // GetThemeFromRequest: Gets the user selected theme from the request func GetThemeFromRequest(c *gin.Context) string { user, _ := getCurrentUser(c) - if user != nil { + if user.ID > 0 { return user.Theme } cookie, err := c.Cookie("theme") @@ -149,7 +149,7 @@ func GetThemeFromRequest(c *gin.Context) string { // GetThemeFromRequest: Gets the user selected theme from the request func GetMascotFromRequest(c *gin.Context) string { user, _ := getCurrentUser(c) - if user != nil { + if user.ID > 0 { return user.Mascot } cookie, err := c.Cookie("mascot") @@ -163,7 +163,7 @@ func GetMascotFromRequest(c *gin.Context) string { // Returns an empty string if not set. func GetMascotUrlFromRequest(c *gin.Context) string { user, _ := getCurrentUser(c) - if user != nil { + if user.ID > 0 { return user.MascotURL }