diff --git a/handlers/syndicate.go b/handlers/syndicate.go index 51d1be5..8b21278 100644 --- a/handlers/syndicate.go +++ b/handlers/syndicate.go @@ -56,10 +56,23 @@ func ListSyndicatesHandler(db *sql.DB) http.HandlerFunc { managed := storage.GetSyndicatesByOwner(db, userID) member := storage.GetSyndicatesByMember(db, userID) + // Filter out syndicates where the user is both the owner and a member + managedMap := make(map[int]bool) + for _, s := range managed { + managedMap[s.ID] = true + } + + var filteredJoined []models.Syndicate + for _, s := range member { + if !managedMap[s.ID] { + filteredJoined = append(filteredJoined, s) + } + } + data := BuildTemplateData(db, w, r) context := helpers.TemplateContext(w, r, data) context["ManagedSyndicates"] = managed - context["JoinedSyndicates"] = member + context["JoinedSyndicates"] = filteredJoined tmpl := helpers.LoadTemplateFiles("syndicates.html", "templates/syndicate/index.html") tmpl.ExecuteTemplate(w, "layout", context)