added absence - abwesenheit, closes #11
This commit is contained in:
@@ -94,16 +94,14 @@ func updateBooking(w http.ResponseWriter, r *http.Request) {
|
||||
log.Println("Error loading location", err)
|
||||
loc = time.Local
|
||||
}
|
||||
user, err := (*models.User).GetUserFromSession(nil, Session, r.Context())
|
||||
if err != nil {
|
||||
log.Println("No user found!", err)
|
||||
return
|
||||
}
|
||||
switch r.FormValue("action") {
|
||||
case "add":
|
||||
log.Println("Adding Booking")
|
||||
user, err := (*models.User).GetUserFromSession(nil, Session, r.Context())
|
||||
if err != nil {
|
||||
log.Println("No user found!", err)
|
||||
}
|
||||
|
||||
timestamp, err := time.ParseInLocation("2006-01-02|15:04", r.FormValue("date")+"|"+r.FormValue("timestamp"), loc)
|
||||
log.Println(timestamp)
|
||||
if err != nil {
|
||||
log.Println("Error parsing timestamp", err)
|
||||
return
|
||||
@@ -124,17 +122,14 @@ func updateBooking(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
break
|
||||
case "change":
|
||||
log.Println("Changing Booking")
|
||||
absence, err := strconv.Atoi(r.FormValue("absence"))
|
||||
absenceType, err := strconv.Atoi(r.FormValue("absence"))
|
||||
if err != nil {
|
||||
log.Println("Error parsing absence type.", err)
|
||||
absence = 0
|
||||
absenceType = 0
|
||||
}
|
||||
if absence != 0 {
|
||||
log.Println("New absence", absence)
|
||||
log.Println("At date", r.FormValue("date"))
|
||||
if absenceType != 0 {
|
||||
createAbsence(absenceType, user, loc, r)
|
||||
}
|
||||
|
||||
for index, possibleBooking := range r.PostForm {
|
||||
if len(index) > 7 && index[:7] == "booking" {
|
||||
booking_id, err := strconv.Atoi(index[8:])
|
||||
@@ -162,6 +157,20 @@ func updateBooking(w http.ResponseWriter, r *http.Request) {
|
||||
getBookings(w, r)
|
||||
}
|
||||
|
||||
func createAbsence(absenceType int, user models.User, loc *time.Location, r *http.Request) {
|
||||
absenceDate, err := time.ParseInLocation("2006-01-02", r.FormValue("date"), loc)
|
||||
if err != nil {
|
||||
log.Println("Cannot get date from input! Skipping absence creation", err)
|
||||
return
|
||||
}
|
||||
absence := models.NewAbsence(user.CardUID, int8(absenceType), absenceDate)
|
||||
err = absence.Insert()
|
||||
if err != nil {
|
||||
log.Println("Error inserting absence!", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func getBookingsAPI(w http.ResponseWriter, r *http.Request) {
|
||||
_user_pn := r.URL.Query().Get("personal_nummer")
|
||||
user_pn, err := strconv.Atoi(_user_pn)
|
||||
|
||||
Reference in New Issue
Block a user