本文整理汇总了Golang中github.com/beego/wetalk/modules/post.PostForm类的典型用法代码示例。如果您正苦于以下问题:Golang PostForm类的具体用法?Golang PostForm怎么用?Golang PostForm使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PostForm类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewSubmit
func (this *PostRouter) NewSubmit() {
this.TplName = "post/new.html"
if this.CheckActiveRedirect() {
return
}
form := post.PostForm{Locale: this.Locale}
slug := this.GetString("topic")
if len(slug) > 0 {
topic := models.Topic{Slug: slug}
topic.Read("Slug")
form.Topic = topic.Id
this.Data["Topic"] = &topic
}
post.ListCategories(&form.Categories)
post.ListTopics(&form.Topics)
if !this.ValidFormSets(&form) {
return
}
var post models.Post
if err := form.SavePost(&post, &this.User); err == nil {
this.Ctx.SetCookie("post_topic", utils.ToStr(form.Topic), 1<<31-1, "/")
this.Ctx.SetCookie("post_cat", utils.ToStr(form.Category), 1<<31-1, "/")
this.Ctx.SetCookie("post_lang", utils.ToStr(form.Lang), 1<<31-1, "/")
this.JsStorage("deleteKey", "post/new")
this.Redirect(post.Link(), 302)
}
}
示例2: EditSubmit
func (this *PostRouter) EditSubmit() {
this.TplName = "post/edit.html"
if this.CheckActiveRedirect() {
return
}
var postMd models.Post
if this.loadPost(&postMd, &this.User) {
return
}
form := post.PostForm{}
form.SetFromPost(&postMd)
post.ListCategories(&form.Categories)
post.ListTopics(&form.Topics)
if !this.ValidFormSets(&form) {
return
}
if err := form.UpdatePost(&postMd, &this.User); err == nil {
this.JsStorage("deleteKey", "post/edit")
this.Redirect(postMd.Link(), 302)
}
}
示例3: New
func (this *PostRouter) New() {
this.TplName = "post/new.html"
if this.CheckActiveRedirect() {
return
}
form := post.PostForm{Locale: this.Locale}
if v := this.Ctx.GetCookie("post_topic"); len(v) > 0 {
form.Topic, _ = utils.StrTo(v).Int()
}
if v := this.Ctx.GetCookie("post_cat"); len(v) > 0 {
form.Category, _ = utils.StrTo(v).Int()
}
if v := this.Ctx.GetCookie("post_lang"); len(v) > 0 {
form.Lang, _ = utils.StrTo(v).Int()
} else {
form.Lang = this.Locale.Index()
}
slug := this.GetString("topic")
if len(slug) > 0 {
topic := models.Topic{Slug: slug}
topic.Read("Slug")
form.Topic = topic.Id
this.Data["Topic"] = &topic
}
post.ListCategories(&form.Categories)
post.ListTopics(&form.Topics)
this.SetFormSets(&form)
}
示例4: NewPost
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)
}
示例5: Edit
func (this *PostRouter) Edit() {
this.TplName = "post/edit.html"
if this.CheckActiveRedirect() {
return
}
var postMd models.Post
if this.loadPost(&postMd, &this.User) {
return
}
form := post.PostForm{}
form.SetFromPost(&postMd)
post.ListCategories(&form.Categories)
post.ListTopics(&form.Topics)
this.SetFormSets(&form)
}
示例6: EditPost
func (this *PostRouter) EditPost() {
this.TplNames = "post/edit.html"
if this.CheckActiveRedirect() {
return
}
var postMd models.Post
if this.loadPost(&postMd, &this.User) {
return
}
//if !postMd.CanEdit {
// this.Redirect(postMd.Link(), 302)
//}
form := post.PostForm{}
form.SetFromPost(&postMd)
post.ListTopics(&form.Topics)
this.SetFormSets(&form)
}
示例7: NewPostSubmit
func (this *PostRouter) NewPostSubmit() {
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.Category = topic.Category.Id
form.Topic = topic.Id
this.Data["Topic"] = &topic
} else {
beego.Error("Can not find topic by slug:", topicSlug)
}
} else {
topicId, err := this.GetInt("Topic")
if err == nil {
topic := models.Topic{Id: int(topicId)}
err = topic.Read("Id")
if err == nil {
form.Category = topic.Category.Id
form.Topic = topic.Id
this.Data["Topic"] = &topic
} else {
beego.Error("Can not find topic by id:", topicId)
}
} else {
beego.Error("Parse param Topic from request failed", err)
}
}
if categorySlug := this.GetString("category"); categorySlug != "" {
beego.Debug("Find category slug:", categorySlug)
category := models.Category{Slug: categorySlug}
category.Read("Slug")
this.Data["Category"] = &category
}
post.ListTopics(&form.Topics)
if !this.ValidFormSets(&form) {
return
}
var post models.Post
if err := form.SavePost(&post, &this.User); err == nil {
this.JsStorage("deleteKey", "post/new")
this.Redirect(post.Link(), 302)
}
}