Ajax user save
This commit is contained in:
@ -8,11 +8,11 @@ import (
|
||||
"github.com/kataras/iris/v12"
|
||||
)
|
||||
|
||||
type editUserForm struct {
|
||||
FirstName string `form:"first-name"`
|
||||
LastName string `form:"last-name"`
|
||||
Email string `form:"email"`
|
||||
Password string `form:"password"`
|
||||
type editUserJSON struct {
|
||||
FirstName string `json:"first-name"`
|
||||
LastName string `json:"last-name"`
|
||||
Email string `json:"email"`
|
||||
Password string `json:"password"`
|
||||
}
|
||||
|
||||
func GetUsersPage(ctx iris.Context) {
|
||||
@ -42,18 +42,22 @@ func EditUserPage(ctx iris.Context) {
|
||||
filter := repository.UserFilter{Id: &userId}
|
||||
user := userRepository.Get(&filter)
|
||||
|
||||
ctx.ViewData("user", user)
|
||||
ctx.ViewData("currentPath", ctx.Path())
|
||||
vars := iris.Map{
|
||||
"user": user,
|
||||
"currentPath": ctx.Path(),
|
||||
"backlink": "/users",
|
||||
}
|
||||
|
||||
if err := ctx.View("pages/user-edit.jet"); err != nil {
|
||||
if err := ctx.View("pages/user-edit.jet", vars); err != nil {
|
||||
showError(ctx, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func SaveUserPage(ctx iris.Context) {
|
||||
var form editUserForm
|
||||
err := ctx.ReadForm(&form)
|
||||
func SaveUser(ctx iris.Context) {
|
||||
var postData editUserJSON
|
||||
err := ctx.ReadJSON(&postData)
|
||||
|
||||
if err != nil {
|
||||
ctx.StopWithError(iris.StatusBadRequest, err)
|
||||
return
|
||||
@ -65,18 +69,21 @@ func SaveUserPage(ctx iris.Context) {
|
||||
filter := repository.UserFilter{Id: &userId}
|
||||
user := userRepository.Get(&filter)
|
||||
|
||||
user.FirstName = form.FirstName
|
||||
user.LastName = form.LastName
|
||||
user.Email = form.Email
|
||||
user.FirstName = postData.FirstName
|
||||
user.LastName = postData.LastName
|
||||
user.Email = postData.Email
|
||||
|
||||
if len(form.Password) > 0 {
|
||||
user.SetPassword(form.Password)
|
||||
if len(postData.Password) > 0 {
|
||||
user.SetPassword(postData.Password)
|
||||
fmt.Printf("Set password: %s\n", user.Password)
|
||||
fmt.Printf("IsPasswordGoodEnough: %v\n", auth.IsPasswordGoodEnough(form.Password))
|
||||
|
||||
fmt.Printf("IsPasswordGoodEnough: %v\n", auth.IsPasswordGoodEnough(postData.Password))
|
||||
}
|
||||
|
||||
userRepository.Save(user)
|
||||
|
||||
ctx.Redirect("/users")
|
||||
response := iris.Map{
|
||||
"success": true,
|
||||
}
|
||||
|
||||
ctx.JSON(response)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user