66 lines
1.3 KiB
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."})
|
|
}
|
|
}
|