From 380414c20f96c4ef693b45f6227efff4f1233530 Mon Sep 17 00:00:00 2001 From: Aritra Banik Date: Mon, 11 Mar 2024 01:59:38 +0530 Subject: [PATCH] 079 --- src/a3.nim | 23 ++---------------- src/signup.nim | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 21 deletions(-) diff --git a/src/a3.nim b/src/a3.nim index f1243f1..65f05bb 100644 --- a/src/a3.nim +++ b/src/a3.nim @@ -78,27 +78,8 @@ import compileTemplateFile(getScriptDir() / "a3a" / "login.nimja") -"/logout" -> get: - ctx &= initCookie("email", "") - ctx &= initCookie("password", "") - - ctx.redirect("/login") - -"/signup" -> get: - var - firstNameError = "" - lastNameError = "" - emailError = "" - passwordError = "" - user: User - - user.firstName = "" - user.lastName = "" - user.email = "" - user.password = "" - - compileTemplateFile(getScriptDir() / "a3a" / "signup.nimja") - +"/logout" -> get: ctx.logout() +"/signup" -> get: ctx.getSignup() "/signup" -> post: var form = ctx.urlForm diff --git a/src/signup.nim b/src/signup.nim index e96e6d3..d518d70 100644 --- a/src/signup.nim +++ b/src/signup.nim @@ -18,3 +18,67 @@ proc getLogin*(ctx: Context): string= password = "" compileTemplateFile(getScriptDir() / "a3a" / "login.nimja") + +proc postLogin*(ctx: Context)= + + var + email = ctx.urlForm["email"] + password = ctx.urlForm["password"] + + db = newDatabase() + + user = db.userAvailability(email, password) + + loginError = "" + emailError = "" + passwordError = "" + + qParams = ctx.queryParams + + productName = qParams.getOrDefault("prod", "") + quantity = parseInt(qParams.getOrDefault("quantity", "0")) + + if user == true: + + ctx &= initCookie("email", email) + ctx &= initCookie("password", password) + + if quantity != 0: + ctx.redirect("/cart/checkout?prod=" & productName & "&quantity=" & $quantity) + else: + + ctx.redirect("/") + + else: + + if email == "": + emailError = "Email is Required" + + if password == "": + passwordError = "Password is Required" + + if user == false: + loginError = "Invalid Login or Password" + + # compileTemplateFile(getScriptDir() / "a3a" / "login.nimja") + +proc logout*(ctx: Context)= + ctx &= initCookie("email", "") + ctx &= initCookie("password", "") + + ctx.redirect("/login") + +proc getSignup*(ctx: Context): string= + var + firstNameError = "" + lastNameError = "" + emailError = "" + passwordError = "" + user: User + + user.firstName = "" + user.lastName = "" + user.email = "" + user.password = "" + + compileTemplateFile(getScriptDir() / "a3a" / "signup.nimja")