// view for update object func (this *TopicAdminEdit) Post() { form := post.TopicAdminForm{Id: int(this.object.Id)} fmt.Println("1111111") if this.ValidFormSets(&form) == false { fmt.Println("3333333") return } // get changed field names changes := utils.FormChanges(&this.object, &form) url := fmt.Sprintf("/admin/topic/%d", this.object.Id) // update changed fields only if len(changes) > 0 { form.SetToTopic(&this.object) if err := models.UpdateById(this.object.Id, this.object, models.Obj2Table(changes)...); err == nil { this.FlashRedirect(url, 302, "UpdateSuccess") return } else { log.Error(err) this.Data["Error"] = err } } else { this.Redirect(url, 302) } }
// view for new object save func (this *TopicAdminNew) Post() { form := post.TopicAdminForm{Create: true} if this.ValidFormSets(&form) == false { return } var topic models.Topic form.SetToTopic(&topic) if err := models.Insert(&topic); err == nil { this.FlashRedirect(fmt.Sprintf("/admin/topic/%d", topic.Id), 302, "CreateSuccess") return } else { log.Error(err) this.Data["Error"] = err } }
// view for edit object func (this *TopicAdminEdit) Get() { form := post.TopicAdminForm{} form.SetFromTopic(&this.object) this.SetFormSets(&form) }