special case: merge two semesters at end of semester

This commit is contained in:
survellow
2024-09-23 23:21:29 +02:00
parent edc046ef49
commit 2899b62c22
2 changed files with 9 additions and 0 deletions

View File

@ -45,6 +45,11 @@ func GetSemesterStart(date time.Time) time.Time {
}
}
// Check if is in last month of semester
func IsLastMonthOfSemester(date time.Time) bool {
return date.Month() == START_OF_WINTER_SEMESTER_MONTH-1 || date.Month() == START_OF_SUMMER_SEMESTER_MONTH-1
}
// Check if the given date is before the start of summer semester
func isBeforeSummerSemester(date time.Time) bool {
return date.Month() < START_OF_SUMMER_SEMESTER_MONTH

View File

@ -74,6 +74,10 @@ func GetRoomOccupancyList(app *pocketbase.PocketBase, granularity int) (model.Ro
fromTime := functions.GetSemesterStart(now)
toTime := functions.GetSemesterStart(now.AddDate(0, 6, 0))
if functions.IsLastMonthOfSemester(now) {
toTime = functions.GetSemesterStart(now.AddDate(1, 0, 0))
}
// calculate the number of blocks for the given time range and granularity
timeDifference := toTime.Sub(fromTime)
numberOfBlocks := int(math.Ceil(timeDifference.Minutes() / float64(granularity)))