From e9d1e12c8decbc2f1b408d31ac74ecb0c627403e Mon Sep 17 00:00:00 2001 From: Sky Johnson Date: Wed, 27 Aug 2025 22:39:40 -0500 Subject: [PATCH] attempts at fixing registraiton form --- data/dk.db | Bin 94208 -> 94208 bytes internal/components/page.go | 2 +- internal/routes/auth.go | 11 ++++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/data/dk.db b/data/dk.db index 2c77ce7f4027fee1e02fb6a18da89a59ec9ceef8..1ac69c9339a2b41de284214f525e88a01c7dcc26 100644 GIT binary patch delta 17 ZcmZp8z}oPDb%WJCrZbl|+uS=c5dcoi2~_|9 delta 17 ZcmZp8z}oPDb%WJCripo*ZSEbJ2mngg2(|zK diff --git a/internal/components/page.go b/internal/components/page.go index c52ac15..c416aaa 100644 --- a/internal/components/page.go +++ b/internal/components/page.go @@ -41,11 +41,11 @@ func RenderPage(ctx sushi.Ctx, title, tmplPath string, additionalData map[string data := map[string]any{ "_title": PageTitle(title), "authenticated": ctx.IsAuthenticated(), + "user": ctx.GetCurrentUser(), "csrf": csrf.HiddenField(ctx), "_totaltime": totalTime, "_version": "1.0.0", "_build": "dev", - "user": ctx.GetCurrentUser().(*users.User), "_memalloc": m.Alloc / 1024 / 1024, "_errormsg": sess.GetFlashMessage("error"), "_successmsg": sess.GetFlashMessage("success"), diff --git a/internal/routes/auth.go b/internal/routes/auth.go index 7cd6ae9..4429c65 100644 --- a/internal/routes/auth.go +++ b/internal/routes/auth.go @@ -112,21 +112,26 @@ func processRegister(ctx sushi.Ctx) { "email": email, } + sess := ctx.GetCurrentSession() + if err := validateRegistration(username, email, userPassword, confirmPassword); err != nil { + fmt.Println("Error occured: " + err.Error()) setFlashAndFormData(ctx, err.Error(), formData) ctx.Redirect("/register") return } // Check if username already exists - if _, err := users.ByUsername(username); err == nil { + if _, err := users.ByUsername(username); err != nil { + fmt.Println("Username already exists") setFlashAndFormData(ctx, "Username already exists", formData) ctx.Redirect("/register") return } // Check if email already exists - if _, err := users.ByEmail(email); err == nil { + if _, err := users.ByEmail(email); err != nil { + fmt.Println("Email already exists") setFlashAndFormData(ctx, "Email already registered", formData) ctx.Redirect("/register") return @@ -135,6 +140,7 @@ func processRegister(ctx sushi.Ctx) { // Ensure class ID exists (should always, unless someone modified the form) class, err := classes.Find(classID) if err != nil { + fmt.Println("Invalid class ID") setFlashAndFormData(ctx, "Invalid class selected", formData) ctx.Redirect("/register") return @@ -175,7 +181,6 @@ func processRegister(ctx sushi.Ctx) { ctx.Login(user.ID, user) // Set success message - sess := ctx.GetCurrentSession() sess.SetFlash("success", fmt.Sprintf("Greetings, %s!", user.Username)) ctx.Redirect("/")