func (form *CommentAdminForm) SetToComment(comment *models.Comment) { utils.SetFormValues(form, comment) if comment.User == nil { comment.User = &models.User{} } comment.User.Id = form.User if comment.Post == nil { comment.Post = &models.Post{} } comment.Post.Id = form.Post comment.MessageCache = utils.RenderMarkdown(comment.Message) }
// view for new object save func (this *CommentAdminRouter) Save() { form := post.CommentAdminForm{Create: true} if this.ValidFormSets(&form) == false { return } var comment models.Comment form.SetToComment(&comment) if err := comment.Insert(); err == nil { this.FlashRedirect(fmt.Sprintf("/admin/comment/%d", comment.Id), 302, "CreateSuccess") return } else { beego.Error(err) this.Data["Error"] = err } }
func (form *CommentForm) SaveComment(comment *models.Comment, user *models.User, post *models.Post) error { comment.Message = form.Message comment.MessageCache = utils.RenderMarkdown(form.Message) comment.User = user comment.Post = post if err := comment.Insert(); err == nil { post.LastReply = user post.Update("LastReply", "LastReplied") cnt, _ := post.Comments().Filter("Id__lte", comment.Id).Count() comment.Floor = int(cnt) return comment.Update("Floor") } else { return err } }