// HandleCreateShow serves the create form via GET for posts func HandleCreateShow(context router.Context) error { // Authorise err := authorise.Path(context) if err != nil { return router.NotAuthorizedError(err) } // Find users for author details users, err := users.FindAll(users.Admins()) if err != nil { return router.NotFoundError(err) } // Render the template view := view.New(context) post := posts.New() user := authorise.CurrentUser(context) if user != nil { post.AuthorId = user.Id } view.AddKey("post", post) view.AddKey("users", users) return view.Render() }
// HandleLoginShow shows the page at /users/login func HandleLoginShow(context router.Context) error { // Setup context for template view := view.New(context) // Check we're not already logged in, if so redirect with a message // we could alternatively display an error here? if !authorise.CurrentUser(context).Anon() { return router.Redirect(context, "/?warn=already_logged_in") } switch context.Param("error") { case "failed_email": view.AddKey("warning", "Sorry, we couldn't find a user with that email.") case "failed_password": view.AddKey("warning", "Sorry, the password was incorrect, please try again.") } // Serve return view.Render() }