Example #1
0
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)
}
Example #2
0
//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
}