// FilterLabels generates the labels for the filter page func filterLabels(e env.Env, f database.Filter) []label { labels := []label{} // Lookup date and resultset names // Lookup date and resultset names date, _ := e.LookupDate(f.Date) rs, _ := e.LookupResultset(f.Resultset) nat, _ := e.LookupNatYear(f.NatYear) labels = append(labels, label{nat, "default"}) labels = append(labels, label{date, "primary"}) labels = append(labels, label{rs, "primary"}) if f.Year != "" { labels = append(labels, label{"Yeargroup: " + f.Year, "success"}) } switch f.Gender { case "1": labels = append(labels, label{"Boys", "warning"}) case "0": labels = append(labels, label{"Girls", "warning"}) } switch f.PP { case "1": labels = append(labels, label{"Disadvantaged", "warning"}) case "0": labels = append(labels, label{"Non-Disadvantaged", "warning"}) } switch f.EAL { case "1": labels = append(labels, label{"EAL", "warning"}) case "0": labels = append(labels, label{"Non-EAL", "warning"}) } if len(f.SEN) >= 1 && len(f.SEN) < 4 { labels = append(labels, label{"SEN: " + strings.Join(f.SEN, ", "), "warning"}) } if len(f.KS2Bands) >= 1 && len(f.SEN) < 4 { labels = append(labels, label{"KS2: " + strings.Join(f.KS2Bands, ", "), "warning"}) } if len(f.Ethnicities) >= 1 && len(f.Ethnicities) <= len(e.Ethnicities) { eths := []string{} for _, eth := range f.Ethnicities { if !e.OtherEths[eth] { eths = append(eths, eth) } } labels = append(labels, label{"Ethnicity: " + strings.Join(eths, ", "), "warning"}) } return labels }