liquid_feedback_frontend

annotate app/main/index/_action/reset_password.lua @ 1309:32cc544d5a5b

Cumulative patch for upcoming frontend version 4
author bsw/jbe
date Sun Jul 15 14:07:29 2018 +0200 (2018-07-15)
parents e7fc3fed1593
children 1c329811e47f
rev   line source
bsw@224 1 trace.disable()
bsw@224 2
bsw/jbe@6 3 local secret = param.get("secret")
bsw/jbe@6 4
bsw/jbe@6 5 if not secret then
bsw/jbe@6 6
bsw/jbe@6 7 local member = Member:new_selector()
bsw/jbe@6 8 :add_where{ "login = ?", param.get("login") }
bsw/jbe@6 9 :add_where("password_reset_secret ISNULL OR password_reset_secret_expiry < now()")
bsw/jbe@6 10 :optional_object_mode()
bsw/jbe@6 11 :exec()
bsw/jbe@6 12
bsw/jbe@6 13 if member then
bsw/jbe@6 14 if not member.notify_email then
bsw/jbe@6 15 slot.put_into("error", _"Sorry, but there is not confirmed email address for your account. Please contact the administrator or support.")
bsw/jbe@6 16 return false
bsw/jbe@6 17 end
bsw@1231 18 member:send_password_reset_mail()
bsw/jbe@6 19 end
bsw/jbe@6 20
bsw@990 21 slot.put_into("notice", _"Your request has been processed.")
bsw/jbe@6 22
bsw/jbe@6 23 else
bsw/jbe@6 24 local member = Member:new_selector()
bsw/jbe@6 25 :add_where{ "password_reset_secret = ?", secret }
bsw/jbe@6 26 :add_where{ "password_reset_secret_expiry > now()" }
bsw/jbe@6 27 :optional_object_mode()
bsw/jbe@6 28 :exec()
bsw/jbe@6 29
bsw/jbe@6 30 if not member then
bsw/jbe@6 31 slot.put_into("error", _"Reset code is invalid!")
bsw/jbe@6 32 return false
bsw/jbe@6 33 end
bsw/jbe@6 34
bsw/jbe@6 35 local password1 = param.get("password1")
bsw/jbe@6 36 local password2 = param.get("password2")
bsw/jbe@6 37
bsw/jbe@6 38 if password1 ~= password2 then
bsw/jbe@6 39 slot.put_into("error", _"Passwords don't match!")
bsw/jbe@6 40 return false
bsw/jbe@6 41 end
bsw/jbe@6 42
bsw/jbe@6 43 if #password1 < 8 then
bsw/jbe@6 44 slot.put_into("error", _"Passwords must consist of at least 8 characters!")
bsw/jbe@6 45 return false
bsw/jbe@6 46 end
bsw/jbe@6 47
bsw/jbe@6 48 member:set_password(password1)
bsw/jbe@6 49 member:save()
bsw/jbe@6 50
bsw/jbe@6 51 slot.put_into("notice", _"Password has been reset successfully")
bsw/jbe@6 52
jbe@326 53 end

Impressum / About Us