songbook/admin.go

55 lines
1.2 KiB
Go

package main
import (
"fmt"
"net/http"
"strings"
"github.com/gorilla/mux"
)
func handleAdmin(w http.ResponseWriter, req *http.Request) {
page := initPageData(w, req)
w.Header().Set("Content-Type", "text/html; charset=utf-8")
vars := mux.Vars(req)
if !page.LoggedIn {
page.show("admin-login.html", w)
} else {
action := vars["action"]
switch action {
case "dologin":
handleAdminDoLogin(w, req)
case "dologout":
handleAdminDoLogout(w, req)
case "build":
default:
loadAndShowSongs(w, req, page)
}
}
}
func handleAdminDoLogin(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
username := req.FormValue("un")
password := req.FormValue("pw")
var success bool
if strings.TrimSpace(username) != "" && strings.TrimSpace(password) != "" {
}
page.session.setFlashMessage("Login Successful!", "success")
redirect("/admin", w, req)
}
func handleAdminDoLogout(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
fmt.Fprint(w, "Admin Logout")
}
func loadAndShowSongs(w http.ResponseWriter, req *http.Request, page *pageData) {
}
func buildSongbook(w http.ResponseWriter, req *http.Request, page *pageData) {
}