func (form *PostForm) UpdatePost(post *models.Post, user *models.User) error { changes := utils.FormChanges(post, form) if len(changes) == 0 { return nil } utils.SetFormValues(form, post) post.Category.Id = form.Category post.Topic.Id = form.Topic for _, c := range changes { if c == "Content" { post.ContentCache = utils.RenderMarkdown(form.Content) changes = append(changes, "ContentCache") } } // update last edit author if post.LastAuthor != nil && post.LastAuthor.Id != user.Id { post.LastAuthor = user changes = append(changes, "LastAuthor") } changes = append(changes, "Updated") return post.Update(changes...) }
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 *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 if post.Category == nil { post.Category = &models.Category{} } post.Category.Id = form.Category post.ContentCache = utils.RenderMarkdown(post.Content) }
func (form *UserAdminForm) SetToUser(user *models.User) { // set md5 value if the value is an email if strings.IndexRune(form.GrEmail, '@') != -1 { form.GrEmail = utils.EncodeMd5(form.GrEmail) } utils.SetFormValues(form, user) }
func (form *TopicAdminForm) SetToTopic(topic *models.Topic) { utils.SetFormValues(form, topic, "Id") if topic.Category != nil { topic.Category.Id = form.Category } else { topic.Category = &models.Category{Id: form.Category} } }
func (form *CommentAdminForm) SetFromComment(comment *models.Comment) { utils.SetFormValues(comment, form) if comment.User != nil { form.User = comment.User.Id } if comment.Post != nil { form.Post = comment.Post.Id } }
func (form *ArticleAdminForm) SetFromArticle(article *models.Article) { utils.SetFormValues(article, form) if article.User != nil { form.User = article.User.Id } if article.LastAuthor != nil { form.LastAuthor = article.LastAuthor.Id } }
func (form *PageAdminForm) SetFromPage(page *models.Page) { utils.SetFormValues(page, form) if page.User != nil { form.User = page.User.Id } if page.LastAuthor != nil { form.LastAuthor = page.LastAuthor.Id } }
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.ContentCache = utils.RenderMarkdown(form.Content) // mentioned follow users FilterMentions(user, post.ContentCache) return post.Insert() }
func (form *PageAdminForm) SetToPage(page *models.Page) { utils.SetFormValues(form, page) if page.User == nil { page.User = &models.User{} } page.User.Id = form.User if page.LastAuthor == nil { page.LastAuthor = &models.User{} } page.LastAuthor.Id = form.LastAuthor page.ContentCache = utils.RenderMarkdown(page.Content) }
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) }
func (form *ArticleAdminForm) SetToArticle(article *models.Article) { utils.SetFormValues(form, article) if article.User == nil { article.User = &models.User{} } article.User.Id = form.User if article.LastAuthor == nil { article.LastAuthor = &models.User{} } article.LastAuthor.Id = form.LastAuthor article.ContentCache = utils.RenderMarkdown(article.Content) article.ContentCacheZhCn = utils.RenderMarkdown(article.ContentZhCn) }
func (this *CategoryRouter) NewSubmit() { form := post.CategoryForm{Locale: this.Locale} this.TplNames = "category/new.html" if !this.ValidFormSets(&form) { return } var category models.Category utils.SetFormValues(&form, &category) if err := category.Insert(); err == nil { this.Redirect(category.Link(), 302) } }
func (form *PostAdminForm) SetFromPost(post *models.Post) { utils.SetFormValues(post, form) if post.User != nil { form.User = post.User.Id } if post.LastReply != nil { form.LastReply = post.LastReply.Id } if post.LastAuthor != nil { form.LastAuthor = post.LastAuthor.Id } if post.Topic != nil { form.Topic = post.Topic.Id } }
func (form *ProfileForm) SaveUserProfile(user *models.User) error { // set md5 value if the value is an email if strings.IndexRune(form.GrEmail, '@') != -1 { form.GrEmail = utils.EncodeMd5(form.GrEmail) } changes := utils.FormChanges(user, form) if len(changes) > 0 { // if email changed then need re-active if user.Email != form.Email { user.IsActive = false changes = append(changes, "IsActive") } utils.SetFormValues(form, user) return user.Update(changes...) } return nil }
func (form *TopicAdminForm) SetToTopic(topic *models.Topic) { utils.SetFormValues(form, topic, "Id") }
func (form *TopicAdminForm) SetFromTopic(topic *models.Topic) { utils.SetFormValues(topic, form) form.Category = topic.Category.Id }
func (form *CategoryAdminForm) SetToCategory(cat *models.Category) { utils.SetFormValues(form, cat, "Id") }
func (form *CategoryAdminForm) SetFromCategory(cat *models.Category) { utils.SetFormValues(cat, form) }
func (form *BulletinAdminForm) SetToBulletin(bulletin *models.Bulletin) { utils.SetFormValues(form, bulletin, "Id") }
func (form *UserAdminForm) SetFromUser(user *models.User) { utils.SetFormValues(user, form) }
func (form *ProfileForm) SetFromUser(user *models.User) { utils.SetFormValues(user, form) }
func (form *BulletinAdminForm) SetFromBulletin(bulletin *models.Bulletin) { utils.SetFormValues(bulletin, form) }
func (form *TopicAdminForm) SetFromTopic(topic *models.Topic) { utils.SetFormValues(topic, form) }
func (form *PostForm) SetFromPost(post *models.Post) { utils.SetFormValues(post, form) form.Category = post.Category.Id form.Topic = post.Topic.Id }