本文整理汇总了Golang中GoOnlineJudge/model.ContestModel.Status方法的典型用法代码示例。如果您正苦于以下问题:Golang ContestModel.Status方法的具体用法?Golang ContestModel.Status怎么用?Golang ContestModel.Status使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GoOnlineJudge/model.ContestModel
的用法示例。
在下文中一共展示了ContestModel.Status方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Status
//更改contest状态
//@URL:/admin/contests/(\d+)/status/ @method:POST
func (cc *AdminContest) Status(Cid string) {
restweb.Logger.Debug("Admin Contest Status")
cid, err := strconv.Atoi(Cid)
if err != nil {
cc.Error("args error", 400)
return
}
contestModel := model.ContestModel{}
one, _ := contestModel.Detail(cid)
if one.Creator != cc.Uid {
cc.Error("privilege error", 400)
return
}
var status int
switch one.Status {
case config.StatusAvailable:
status = config.StatusReverse
default:
status = config.StatusAvailable
}
err = contestModel.Status(cid, status)
if err != nil {
cc.Error(err.Error(), 500)
return
}
cc.Redirect("/admin/contests", http.StatusFound) //重定向到竞赛列表页
}
示例2: Status
//更改contest状态 url:/admin/contest/status/
func (this *ContestController) Status(w http.ResponseWriter, r *http.Request) {
class.Logger.Debug("Admin Contest Status")
if r.Method != "POST" {
this.Err400(w, r, "Error", "Error Method to Change contest status")
return
}
this.Init(w, r)
args := this.ParseURL(r.URL.String())
cid, err := strconv.Atoi(args["cid"])
if err != nil {
http.Error(w, "args error", 400)
return
}
contestModel := model.ContestModel{}
one, err := contestModel.Detail(cid)
Type := one.Type
var status int
switch one.Status {
case config.StatusAvailable:
status = config.StatusReverse
default:
status = config.StatusAvailable
}
err = contestModel.Status(cid, status)
if err != nil {
http.Error(w, err.Error(), 500)
return
}
http.Redirect(w, r, "/admin/contest?list/type?"+strings.Title(Type), http.StatusFound) //重定向到竞赛列表页
}