package modules import ( "golang-fave/engine/utils" "golang-fave/engine/wrapper" ) func (this *Modules) RegisterAction_IndexUserUpdateProfile() *Action { return this.newAction(AInfo{ Mount: "index-user-update-profile", WantUser: true, }, func(wrap *wrapper.Wrapper) { pf_first_name := utils.Trim(wrap.R.FormValue("first_name")) pf_last_name := utils.Trim(wrap.R.FormValue("last_name")) pf_email := utils.Trim(wrap.R.FormValue("email")) pf_password := utils.Trim(wrap.R.FormValue("password")) if pf_email == "" { wrap.MsgError(`Please specify user email`) return } if !utils.IsValidEmail(pf_email) { wrap.MsgError(`Please specify correct user email`) return } if pf_password != "" { // Update with password if set _, err := wrap.DB.Exec( wrap.R.Context(), `UPDATE fave_users SET first_name = ?, last_name = ?, email = ?, password = MD5(?) WHERE id = ? ;`, pf_first_name, pf_last_name, pf_email, pf_password, wrap.User.A_id, ) if err != nil { wrap.MsgError(err.Error()) return } } else { // Update without password if not set _, err := wrap.DB.Exec( wrap.R.Context(), `UPDATE fave_users SET first_name = ?, last_name = ?, email = ? WHERE id = ? ;`, pf_first_name, pf_last_name, pf_email, wrap.User.A_id, ) if err != nil { wrap.MsgError(err.Error()) return } } // Reload current page wrap.Write(`window.location.reload(false);`) }) }