package endpoints import ( "arbeitszeitmessung/helper" "arbeitszeitmessung/models" "arbeitszeitmessung/templates" "log" "net/http" "time" ) func PDFHandler(w http.ResponseWriter, r *http.Request) { helper.RequiresLogin(Session, w, r) startDate, err := parseTimestamp(r, "start", time.Now().Format("2006-01-02")) if err != nil { log.Println("Error parsing 'start_date' time", err) http.Error(w, "Timestamp 'start_date' cannot be parsed!", http.StatusBadRequest) return } if startDate.Day() > 1 { startDate = startDate.AddDate(0, 0, -(startDate.Day() - 1)) } endDate := startDate.AddDate(0, 1, -1) user, err := models.GetUserFromSession(Session, r.Context()) if err != nil { log.Println("Error getting user!") } //TODO: only accepted weeks weeks := models.GetWorkDays(user, startDate, endDate) // log.Printf("Using Dates: %s - %s\n", startDate.String(), endDate.String()) templates.PDFReportEmploye(user, weeks, startDate, endDate).Render(r.Context(), w) }