github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/routers/root/RUpdateReply.go (about)

     1  package root
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/insionng/makross"
     6  	
     7  	"strconv"
     8  	"github.com/insionng/yougam/helper"
     9  	"github.com/insionng/yougam/models"
    10  )
    11  
    12  func GetRUpdateReplyHandler(self *makross.Context) error {
    13  	
    14  
    15  	self.Set("catpage", "RUpdateReplyHandler")
    16  	if rid := self.Param("rid").MustInt64(); rid > 0 {
    17  
    18  		if rp, err := models.GetReply(rid); rp != nil && err == nil {
    19  			self.Set("reply", *rp)
    20  		} else {
    21  			self.Flash.Error(err.Error())
    22  			return err
    23  		}
    24  	}
    25  
    26  	TplNames := "root/update_reply"
    27  	return self.Render(TplNames)
    28  
    29  }
    30  
    31  func PostRUpdateReplyHandler(self *makross.Context) error {
    32  	
    33  
    34  	self.Set("catpage", "RUpdateReplyHandler")
    35  	TplNames := "root/update_reply"
    36  	rid := self.Param("rid").MustInt64()
    37  	images := self.FormValue("images")
    38  
    39  	policy := helper.ObjPolicy()
    40  	content := policy.Sanitize(self.FormValue("content"))
    41  
    42  	if rid > 0 {
    43  		if rp, err := models.GetReply(rid); rp != nil && err == nil {
    44  
    45  			rp.Content = content
    46  			if len(images) > 0 {
    47  				rp.Attachment = images
    48  			}
    49  			if _, err := models.PutReply(rid, rp); err != nil {
    50  				self.Flash.Error(fmt.Sprint("更新回复出现错误:", err.Error()))
    51  			} else {
    52  				self.Flash.Success("更新回复成功!")
    53  
    54  			}
    55  
    56  		}
    57  
    58  		return self.Redirect("/root/read/reply/" + strconv.FormatInt(rid, 10) + "/")
    59  
    60  	} else {
    61  		self.Flash.Error("更新回复出现错误:不存在该回复!")
    62  		return self.Redirect("/root/read/reply/")
    63  
    64  	}
    65  	return self.Render(TplNames)
    66  
    67  }