func (form *PostAdminForm) SetToPost(post *models.Post) { utils.SetFormValues(form, post) if post.User == nil { post.User = &models.User{} } post.User.Id = form.User if post.LastReply == nil { post.LastReply = &models.User{} } post.LastReply.Id = form.LastReply if post.LastAuthor == nil { post.LastAuthor = &models.User{} } post.LastAuthor.Id = form.LastAuthor if post.Topic == nil { post.Topic = &models.Topic{} } post.Topic.Id = form.Topic //get category topic := &models.Topic{Id: form.Topic} if err := topic.Read("Id"); err == nil { if post.Category == nil { post.Category = &models.Category{} } post.Category.Id = topic.Category.Id } post.ContentCache = utils.RenderMarkdown(post.Content) }
func (form *PostForm) SavePost(post *models.Post, user *models.User) error { utils.SetFormValues(form, post) post.Category = &models.Category{Id: form.Category} post.Topic = &models.Topic{Id: form.Topic} post.User = user post.LastReply = user post.LastAuthor = user post.CanEdit = true post.ContentCache = utils.RenderMarkdown(form.Content) // mentioned follow users FilterMentions(user, post.ContentCache) return post.Insert() }
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 } }