package handlers import ( "database/sql" "log" "net/http" "synlotto-website/helpers" "synlotto-website/models" "synlotto-website/storage" ) func NewTicket(db *sql.DB) http.HandlerFunc { return func(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 form", http.StatusInternalServerError) } } } func SubmitTicket(db *sql.DB) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { ticket := models.MyTicket{ GameType: r.FormValue("game_type"), DrawDate: r.FormValue("draw_date"), Ball1: helpers.Atoi(r.FormValue("ball1")), Ball2: helpers.Atoi(r.FormValue("ball2")), Ball3: helpers.Atoi(r.FormValue("ball3")), Ball4: helpers.Atoi(r.FormValue("ball4")), Ball5: helpers.Atoi(r.FormValue("ball5")), Bonus1: helpers.Nullable(helpers.Atoi(r.FormValue("bonus1"))), Bonus2: helpers.Nullable(helpers.Atoi(r.FormValue("bonus2"))), } if err := storage.InsertTicket(db, ticket); err != nil { log.Println("❌ Failed to insert ticket:", err) http.Error(w, "Error storing ticket", http.StatusInternalServerError) return } http.Redirect(w, r, "/", http.StatusSeeOther) } }