func GetClusters(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "text/html") db := context.Get(r, "db").(*sqlx.DB) currentUser := getCurrentUser(w, r) clusters := context.Get(r, "clusters").([]*dal.ClusterRow) accessTokens := make(map[int64][]*dal.AccessTokenRow) for _, cluster := range clusters { accessTokensSlice, err := dal.NewAccessToken(db).AllAccessTokensByClusterID(nil, cluster.ID) if err != nil { libhttp.HandleErrorHTML(w, err, 500) return } accessTokens[cluster.ID] = accessTokensSlice } data := struct { CurrentUser *dal.UserRow Clusters []*dal.ClusterRow CurrentClusterJson string AccessTokens map[int64][]*dal.AccessTokenRow }{ currentUser, clusters, string(context.Get(r, "currentClusterJson").([]byte)), accessTokens, } tmpl, err := template.ParseFiles("templates/dashboard.html.tmpl", "templates/clusters/list.html.tmpl") if err != nil { libhttp.HandleErrorHTML(w, err, 500) return } tmpl.Execute(w, data) }
func PostClusters(w http.ResponseWriter, r *http.Request) { db := context.Get(r, "db").(*sqlx.DB) cookieStore := context.Get(r, "cookieStore").(*sessions.CookieStore) session, _ := cookieStore.Get(r, "resourcedmaster-session") currentUser := session.Values["user"].(*dal.UserRow) _, err := dal.NewCluster(db).Create(nil, currentUser.ID, r.FormValue("Name")) if err != nil { libhttp.HandleErrorHTML(w, err, 500) return } http.Redirect(w, r, "/clusters", 301) }