// Add this topic into favorite list func (this *PostListRouter) TopicSubmit() { slug := this.GetString(":slug") topic := models.Topic{Slug: slug} if err := topic.Read("Slug"); err != nil { this.Abort("404") return } result := map[string]interface{}{ "success": false, } if this.IsAjax() { action := this.GetString("action") switch action { case "favorite": if this.IsLogin { qs := models.FollowTopics().Filter("User", &this.User).Filter("Topic", &topic) if qs.Exist() { qs.Delete() } else { fav := models.FollowTopic{User: &this.User, Topic: &topic} fav.Insert() } topic.RefreshFollowers() this.User.RefreshFavTopics() result["success"] = true } } } this.Data["json"] = result this.ServeJson() }