liquid_feedback_frontend

annotate app/main/index/_action/reset_password.lua @ 1858:3d1f0464a3ea

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

Impressum / About Us