new ticket handler and move common variables
This commit is contained in:
16
handlers/common.go
Normal file
16
handlers/common.go
Normal 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
|
||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
44
handlers/ticket_handler.go
Normal file
44
handlers/ticket_handler.go
Normal 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)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user