コード例 #1
0
ファイル: create.go プロジェクト: rogeriomarques/gohackernews
// HandleCreateShow serves the create form via GET for stories
func HandleCreateShow(context router.Context) error {

	// Authorise
	err := authorise.Path(context)
	if err != nil {
		return router.NotAuthorizedError(err)
	}

	// Render the template
	view := view.New(context)
	story := stories.New()
	view.AddKey("story", story)
	view.AddKey("meta_title", "Go Hacker News Submit")
	view.AddKey("authenticity_token", authorise.CreateAuthenticityToken(context))
	return view.Render()
}
コード例 #2
0
ファイル: create.go プロジェクト: dejanstrbac/gohackernews
// HandleCreateShow serves the create form via GET for stories
func HandleCreateShow(context router.Context) error {

	// Authorise
	err := authorise.Path(context)
	if err != nil {
		// When not allowed to post stories, redirect to register screen
		router.Redirect(context, "/users/create")
	}

	// Render the template
	view := view.New(context)
	story := stories.New()
	view.AddKey("story", story)
	view.AddKey("meta_title", "Go Hacker News Submit")

	return view.Render()
}
コード例 #3
0
ファイル: create.go プロジェクト: rogeriomarques/gohackernews
// HandleCreateShow serves the create form via GET for comments
func HandleCreateShow(context router.Context) error {

	// Authorise
	err := authorise.Path(context)
	if err != nil {
		return router.NotAuthorizedError(err)
	}

	// Render the template
	view := view.New(context)
	comment := comments.New()
	view.AddKey("comment", comment)

	// TODO: May have to validate parent_id or story_id
	view.AddKey("story_id", context.ParamInt("story_id"))
	view.AddKey("parent_id", context.ParamInt("parent_id"))
	view.AddKey("authenticity_token", authorise.CreateAuthenticityToken(context))
	return view.Render()
}
コード例 #4
0
ファイル: index.go プロジェクト: rogeriomarques/gohackernews
// HandleIndex serves a GET request at /users
func HandleIndex(context router.Context) error {

	// Authorise
	err := authorise.Path(context)
	if err != nil {
		return router.NotAuthorizedError(err)
	}

	// Fetch the users
	q := users.Query().Order("role desc, created_at desc")
	userList, err := users.FindAll(q)
	if err != nil {
		context.Logf("#error Error indexing users %s", err)
		return router.InternalError(err)
	}

	// Serve template
	view := view.New(context)
	view.AddKey("users", userList)
	return view.Render()

}
コード例 #5
0
ファイル: index.go プロジェクト: dejanstrbac/gohackernews
// HandleIndex serves a GET request at /users
func HandleIndex(context router.Context) error {

	// Authorise
	err := authorise.Path(context)
	if err != nil {
		return router.NotAuthorizedError(err)
	}

	// Query for most recent 100 users
	q := users.Query().Order("points desc, created_at desc").Limit(100)

	// Fetch 100 of them
	userList, err := users.FindAll(q)
	if err != nil {
		return router.InternalError(err)
	}

	// Get a count of all users
	count, err := q.Count()
	if err != nil {
		return router.InternalError(err)
	}

	// Get a count of admin users
	adminsCount, err := q.Where("role=100").Count()
	if err != nil {
		return router.InternalError(err)
	}

	// Serve template
	view := view.New(context)
	view.AddKey("users", userList)
	view.AddKey("count", count)
	view.AddKey("adminsCount", adminsCount)
	return view.Render()

}