ux: hide officeHourTable if it has no entries at all

This commit is contained in:
Johannes 2023-07-09 15:26:58 +02:00
parent 809f86de67
commit 75946731df

View file

@ -51,6 +51,7 @@ 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 { func (b *BaseHandler) printTimetable(timetable map[models.Date]map[int]models.OfficeHour, slots []int, deleteIcons bool) template.HTML {
var tableBody string var tableBody string
var anyOfficeHourExists bool = false // do not show table if no entry in there
for hour := 8; hour < 19; hour += 1 { for hour := 8; hour < 19; hour += 1 {
for minute := 0; minute < 60; minute += b.config.Date.MinuteGranularity { for minute := 0; minute < 60; minute += b.config.Date.MinuteGranularity {
tableBody += "<tr>" tableBody += "<tr>"
@ -93,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 // TODO: better error wrapping up to top-level request handler
} }
tableBody += celldata.String() tableBody += celldata.String()
anyOfficeHourExists = true
} }
} else { } else {
if slot+1 == slots[day] { if slot+1 == slots[day] {
@ -106,6 +108,9 @@ func (b *BaseHandler) printTimetable(timetable map[models.Date]map[int]models.Of
tableBody += "</tr>\n" tableBody += "</tr>\n"
} }
} }
if !anyOfficeHourExists {
return template.HTML("<p class=\"text-center\">Aktuell sind keine passenden Sprechstunden eingetragen.</p>")
}
var table bytes.Buffer var table bytes.Buffer
tableData := struct { tableData := struct {