Konfi-Castle-Kasino/add.go

66 lines
1.3 KiB
Go

package main
import (
"github.com/labstack/echo"
"net/http"
"strconv"
)
func addKonfi(c echo.Context) error {
//Config
SiteConf := initConfig()
//Datenbankverbindung aufbauen
db := DBinit()
rw := c.Response()
r := c.Request()
//Session init
sess := GlobalSessions.SessionStart(rw, r)
logged := sess.Get("login")
//Wenn eingeloggt
if logged != nil {
// Mode nach Kofis
if SiteConf.Mode == 0 {
kofi := new(Kofi)
kofi.Name = c.FormValue("name")
kofi.Gemeinde = c.FormValue("gemeinde")
// Einfügen
_, err := db.Insert(kofi)
if err == nil {
return c.JSON(http.StatusOK, Message{"success"})
}
return c.JSON(http.StatusInternalServerError, Message{"Error."})
} else if SiteConf.Mode == 1 { // Mode nach Gemeinden
var err error
gemeinde := new(Gemeinde)
gemeinde.Name = c.FormValue("name")
gemeinde.KonfiCount, err = strconv.Atoi(c.FormValue("konfis"))
if err != nil {
return c.JSON(http.StatusInternalServerError, Message{"error. (konfiCount not int)"})
}
_, err = db.Insert(gemeinde)
if err == nil {
return c.JSON(http.StatusOK, Message{"success"})
}
return c.JSON(http.StatusInternalServerError, Message{"Error."})
}
return c.JSON(http.StatusInternalServerError, Message{"Wrong Mode."})
} else {
return c.JSON(http.StatusOK, Message{"Login first."})
}
}