new ticket handler and move common variables

This commit is contained in:
2025-03-24 22:01:25 +00:00
parent b1518b0e09
commit 2eb04d6ffa
3 changed files with 79 additions and 22 deletions

16
handlers/common.go Normal file
View File

@@ -0,0 +1,16 @@
package handlers
import (
"html/template"
"synlotto-website/models"
)
var Tmpl = template.Must(template.ParseFiles(
"templates/layout.html",
"templates/index.html",
"templates/new_draw.html",
"templates/new_ticket.html",
))
var Draws []models.Draw
var MyTickets []models.MyTicket

View File

@@ -1,27 +1,17 @@
package handlers package handlers
import ( import (
"html/template"
"log" "log"
"net/http" "net/http"
"synlotto-website/models" "synlotto-website/models"
) )
var tmpl = template.Must(template.ParseFiles(
"templates/layout.html",
"templates/index.html",
"templates/new_draw.html",
))
func Home(w http.ResponseWriter, r *http.Request) { func Home(w http.ResponseWriter, r *http.Request) {
log.Println("✅ Home hit") log.Println("✅ Home hit")
var draws []models.Draw err := Tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{
err := tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{
"Page": "index", "Page": "index",
"Data": draws, "Data": Draws,
}) })
if err != nil { if err != nil {
log.Println("❌ Template error:", err) log.Println("❌ Template error:", err)
@@ -32,7 +22,7 @@ func Home(w http.ResponseWriter, r *http.Request) {
func NewDraw(w http.ResponseWriter, r *http.Request) { func NewDraw(w http.ResponseWriter, r *http.Request) {
log.Println("➡️ New draw form opened") log.Println("➡️ New draw form opened")
err := tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{ err := Tmpl.ExecuteTemplate(w, "layout", map[string]interface{}{
"Page": "new_draw", "Page": "new_draw",
"Data": nil, "Data": nil,
}) })
@@ -44,18 +34,25 @@ func NewDraw(w http.ResponseWriter, r *http.Request) {
func Submit(w http.ResponseWriter, r *http.Request) { func Submit(w http.ResponseWriter, r *http.Request) {
log.Println("📝 Form submission received") log.Println("📝 Form submission received")
err := r.ParseForm() r.ParseForm()
if err != nil {
http.Error(w, "Invalid form", http.StatusBadRequest) draw := models.Draw{
return Date: r.FormValue("date"),
Machine: r.FormValue("machine"),
Ballset: r.FormValue("ballset"),
Ball1: r.FormValue("ball1"),
Ball2: r.FormValue("ball2"),
Ball3: r.FormValue("ball3"),
Ball4: r.FormValue("ball4"),
Ball5: r.FormValue("ball5"),
Thunderball: r.FormValue("thunderball"),
} }
date := r.FormValue("date") Draws = append(Draws, draw)
numbers := r.FormValue("numbers")
spend := r.FormValue("spend")
ret := r.FormValue("return")
log.Printf("📅 Date: %s | 🔢 Numbers: %s | 💸 Spend: %s | 💰 Return: %s\n", date, numbers, spend, ret) log.Printf("📅 %s | 🛠 %s | 🎱 %s | 🔢 %s,%s,%s,%s,%s | ⚡ %s\n",
draw.Date, draw.Machine, draw.Ballset,
draw.Ball1, draw.Ball2, draw.Ball3, draw.Ball4, draw.Ball5, draw.Thunderball)
http.Redirect(w, r, "/", http.StatusSeeOther) http.Redirect(w, r, "/", http.StatusSeeOther)
} }

View File

@@ -0,0 +1,44 @@
package handlers
import (
"log"
"net/http"
"synlotto-website/models"
)
func NewTicket(w http.ResponseWriter, r *http.Request) {
log.Println("🎟️ New ticket form opened")
err := Tmpl.ExecuteTemplate(w, "new_ticket", map[string]interface{}{
"Page": "new_ticket",
"Data": nil,
})
if err != nil {
log.Println("❌ Template error:", err)
http.Error(w, "Error rendering ticket form", http.StatusInternalServerError)
}
}
func SubmitTicket(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
ticket := models.MyTicket{
DrawDate: r.FormValue("draw_date"),
Ball1: r.FormValue("ball1"),
Ball2: r.FormValue("ball2"),
Ball3: r.FormValue("ball3"),
Ball4: r.FormValue("ball4"),
Ball5: r.FormValue("ball5"),
Thunderball: r.FormValue("thunderball"),
}
MyTickets = append(MyTickets, ticket)
log.Printf("🎟 Ticket for %s: %s %s %s %s %s + %s",
ticket.DrawDate,
ticket.Ball1, ticket.Ball2, ticket.Ball3, ticket.Ball4, ticket.Ball5, ticket.Thunderball,
)
http.Redirect(w, r, "/", http.StatusSeeOther)
}