diff --git a/controllers/timetable.go b/controllers/timetable.go index 654d310..cedc11c 100644 --- a/controllers/timetable.go +++ b/controllers/timetable.go @@ -50,10 +50,8 @@ func (b *BaseHandler) GetTimetable(officeHours []models.OfficeHour) (timetable m } func (b *BaseHandler) printTimetable(timetable map[models.Date]map[int]models.OfficeHour, slots []int, deleteIcons bool) template.HTML { - if len(timetable) == 0 { // no office hours to display - return template.HTML("

Aktuell sind keine passenden Sprechstunden eingetragen.

") - } var tableBody string + var anyOfficeHourExists bool = false // do not show table if no entry in there for hour := 8; hour < 19; hour += 1 { for minute := 0; minute < 60; minute += b.config.Date.MinuteGranularity { tableBody += "" @@ -96,6 +94,7 @@ func (b *BaseHandler) printTimetable(timetable map[models.Date]map[int]models.Of // TODO: better error wrapping up to top-level request handler } tableBody += celldata.String() + anyOfficeHourExists = true } } else { if slot+1 == slots[day] { @@ -109,6 +108,9 @@ func (b *BaseHandler) printTimetable(timetable map[models.Date]map[int]models.Of tableBody += "\n" } } + if !anyOfficeHourExists { + return template.HTML("

Aktuell sind keine passenden Sprechstunden eingetragen.

") + } var table bytes.Buffer tableData := struct {