// Modify 修改主题 func (TopicController) Modify(ctx echo.Context) error { tid := goutils.MustInt(ctx.FormValue("tid")) if tid == 0 { return ctx.Redirect(http.StatusSeeOther, "/topics") } nodes := logic.GenNodes() if ctx.Request().Method() != "POST" { topics := logic.DefaultTopic.FindByTids([]int{tid}) if len(topics) == 0 { return ctx.Redirect(http.StatusSeeOther, "/topics") } return render(ctx, "topics/new.html", map[string]interface{}{"nodes": nodes, "topic": topics[0], "activeTopics": "active"}) } me := ctx.Get("user").(*model.Me) err := logic.DefaultTopic.Publish(ctx, me, ctx.FormParams()) if err != nil { if err == logic.NotModifyAuthorityErr { return fail(ctx, 1, "没有权限操作") } return fail(ctx, 2, "服务错误,请稍后重试!") } return success(ctx, nil) }
// Create 新建主题 func (TopicController) Create(ctx echo.Context) error { nodes := logic.GenNodes() title := ctx.FormValue("title") // 请求新建主题页面 if title == "" || ctx.Request().Method() != "POST" { return render(ctx, "topics/new.html", map[string]interface{}{"nodes": nodes, "activeTopics": "active"}) } me := ctx.Get("user").(*model.Me) err := logic.DefaultTopic.Publish(ctx, me, ctx.FormParams()) if err != nil { return fail(ctx, 1, "内部服务错误") } return success(ctx, nil) }
func (TopicController) topicList(ctx echo.Context, view, orderBy, querystring string, args ...interface{}) error { curPage := goutils.MustInt(ctx.QueryParam("p"), 1) paginator := logic.NewPaginator(curPage) topics := logic.DefaultTopic.FindAll(ctx, paginator, orderBy, querystring, args...) total := logic.DefaultTopic.Count(ctx, querystring, args...) pageHtml := paginator.SetTotal(total).GetPageHtml(ctx.Request().URL().Path()) data := map[string]interface{}{ "topics": topics, "activeTopics": "active", "nodes": logic.GenNodes(), "view": view, "page": template.HTML(pageHtml), } return render(ctx, "topics/list.html", data) }