func (this *PostRouter) NewPost() { this.TplNames = "post/new.html" if this.CheckActiveRedirect() { return } form := post.PostForm{Locale: this.Locale} topicSlug := this.GetString("topic") if len(topicSlug) > 0 { topic := models.Topic{Slug: topicSlug} err := topic.Read("Slug") if err == nil { form.Topic = topic.Id form.Category = topic.Category.Id post.ListTopicsOfCategory(&form.Topics, &models.Category{Id: form.Category}) this.Data["Topic"] = &topic } else { this.Redirect(setting.AppUrl, 302) } } else { catSlug := this.GetString("category") if len(catSlug) > 0 { category := models.Category{Slug: catSlug} category.Read("Slug") form.Category = category.Id post.ListTopicsOfCategory(&form.Topics, &category) this.Data["Category"] = &category } else { this.Redirect(setting.AppUrl, 302) } } this.SetFormSets(&form) }
//Get all the topics of the category func (this *PostListRouter) setTopicsOfCategory(topics *[]models.Topic, category *models.Category) { //@see modules/post/topic_util.go post.ListTopicsOfCategory(topics, category) this.Data["TopicsOfCategory"] = *topics }