CHANGE: added team view, with submitted bookings for team members and send form for own bookings

This commit is contained in:
2025-02-25 15:08:34 +01:00
parent 478fd53d4f
commit d68a19790e
14 changed files with 846 additions and 1766 deletions

View File

@@ -1,5 +1,52 @@
package models
import (
"log"
"time"
)
type WorkWeek struct {
WorkDays []WorkDay
WorkDays []WorkDay
User User
WeekStart time.Time
}
func (w *WorkWeek) GetWeek(user User, tsMonday time.Time) WorkWeek {
var week WorkWeek
week.WorkDays = (*WorkDay).GetWorkDays(nil, user.CardUID, tsMonday, tsMonday.Add(7*24*time.Hour))
week.User = user
week.WeekStart = tsMonday
return week
}
func (w *WorkWeek) GetSendWeeks(user User) []WorkWeek {
var weeks []WorkWeek
qStr, err := DB.Prepare(`SELECT woche_start::DATE FROM buchung_wochen WHERE bestaetigt = FALSE AND personal_nummer = $1;`)
if err != nil {
log.Println("Error preparing SQL statement", err)
return weeks
}
defer qStr.Close()
rows, err := qStr.Query(user.PersonalNummer)
if err != nil {
log.Println("Error querining db!", err)
return weeks
}
defer rows.Close()
for rows.Next() {
var week WorkWeek
week.User = user
if err := rows.Scan(&week.WeekStart); err != nil {
log.Println("Error scanning row!", err)
return weeks
}
week.WorkDays = (*WorkDay).GetWorkDays(nil, user.CardUID, week.WeekStart, week.WeekStart.Add(7*24*time.Hour))
weeks = append(weeks, week)
}
if err = rows.Err(); err != nil {
return weeks
}
return weeks
}