From 6623d747ab47842dd4f084f53971f5f592c80a6e Mon Sep 17 00:00:00 2001 From: prokopparuzek Date: Sun, 12 Oct 2025 16:14:06 +0200 Subject: [PATCH] admin: obtiznosti + ID --- admin.go | 12 ++++++------ klice.go | 3 ++- templates.go | 5 +++++ templates/adminLevels.html | 6 ++++-- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/admin.go b/admin.go index 3cccd5d..f3d018b 100644 --- a/admin.go +++ b/admin.go @@ -356,8 +356,8 @@ func AdminLevelHandler(w http.ResponseWriter, r *http.Request) { } // Deleting an existing difficulty level if r.PostForm.Has("delete") { - levelName := r.FormValue("delete") - _, err := db.Exec("DELETE FROM difficulty_levels WHERE level_name = ?", levelName) + id := r.FormValue("delete") + _, err := db.Exec("DELETE FROM difficulty_levels WHERE id = ?", id) if err != nil { http.Error(w, "Database error", http.StatusInternalServerError) return @@ -379,16 +379,16 @@ func AdminLevelHandler(w http.ResponseWriter, r *http.Request) { http.Redirect(w, r, "/admin/levels", http.StatusSeeOther) return } - rows, err := db.Query("SELECT level_name FROM difficulty_levels ORDER BY id") + rows, err := db.Query("SELECT id, level_name FROM difficulty_levels ORDER BY id") if err != nil { http.Error(w, "Database error", http.StatusInternalServerError) return } defer rows.Close() - var difficultyLevels []string + var difficultyLevels []AdminLevelTemplateS for rows.Next() { - var level string - if err := rows.Scan(&level); err != nil { + var level AdminLevelTemplateS + if err := rows.Scan(&level.ID, &level.Name); err != nil { http.Error(w, "Database error", http.StatusInternalServerError) return } diff --git a/klice.go b/klice.go index 26a0ebe..294c6ca 100644 --- a/klice.go +++ b/klice.go @@ -13,6 +13,7 @@ import ( ) const domain = "http://localhost:8080" +const dbFile = "./klice.db" var db *sql.DB @@ -323,7 +324,7 @@ func qrHandler(w http.ResponseWriter, r *http.Request) { func main() { var err error - db, err = sql.Open("sqlite3", "./klice.db?_fk=on") + db, err = sql.Open("sqlite3", dbFile+"?_fk=on") if err != nil { fmt.Println("Error opening database:", err) return diff --git a/templates.go b/templates.go index 3afc5fd..e7dc2f6 100644 --- a/templates.go +++ b/templates.go @@ -72,6 +72,11 @@ type AdminQRTemplateS struct { Positions []int } +type AdminLevelTemplateS struct { + ID int + Name string +} + var CipherTemplate = template.Must(template.ParseFiles("templates/assignment.html")) var TeamTemplate = template.Must(template.ParseFiles("templates/team.html")) var AdminTeamsTemplate = template.Must(template.ParseFiles("templates/adminTeams.html")) diff --git a/templates/adminLevels.html b/templates/adminLevels.html index 556af58..dbd7fcd 100644 --- a/templates/adminLevels.html +++ b/templates/adminLevels.html @@ -10,15 +10,17 @@

Úrovně obtížnosti

+ {{range .}} - + +
ID Jméno Smazat
{{.}}{{.ID}}{{.Name}}
- +