func HandleCreate(w http.ResponseWriter, r *http.Request) error {
	user := users.New()
	err := session.CheckAuthenticity(w, r)
	if err != nil {
		return err
	}
	currentUser := session.CurrentUser(w, r)
	err = can.Create(user, currentUser)
	if err != nil {
		return server.NotAuthorizedError(err)
	}
	params, err := mux.Params(r)
	if err != nil {
		return server.InternalError(err)
	}
	hash, err := auth.HashPassword(params.Get("password"))
	if err != nil {
		return server.InternalError(err, "Problem hashing password")
	}
	params.SetString("password_hash", hash)
	userParams := user.ValidateParams(params.Map(), users.AllowedParams())
	id, err := user.Create(userParams)
	if err != nil {
		return server.InternalError(err)
	}
	user, err = users.Find(id)
	if err != nil {
		return server.InternalError(err)
	}
	return server.Redirect(w, r, user.IndexURL())
}
HandleCreate handles the POST of the create form for users
package useractions
import (
	"fmt"
	"net/http"
	"github.com/fragmenta/auth"
	"github.com/fragmenta/auth/can"
	"github.com/fragmenta/mux"
	"github.com/fragmenta/server"
	"github.com/fragmenta/view"
	"github.com/fragmenta/fragmenta-cms/src/lib/session"
	"github.com/fragmenta/fragmenta-cms/src/users"
)
func HandleCreateShow(w http.ResponseWriter, r *http.Request) error {
	user := users.New()
	fmt.Printf("USER:%v\n", user)
	currentUser := session.CurrentUser(w, r)
	err := can.Create(user, currentUser)
	if err != nil {
		return server.NotAuthorizedError(err)
	}
	view := view.NewRenderer(w, r)
	view.AddKey("currentUser", currentUser)
	view.AddKey("user", user)
	return view.Render()
}