bsw@9: local old_password = param.get("old_password") bsw@9: local new_password1 = param.get("new_password1") bsw@9: local new_password2 = param.get("new_password2") bsw@9: bsw@9: if not Member:by_login_and_password(app.session.member.login, old_password) then bsw@9: slot.put_into("error", _"Old password is wrong") bsw@9: return false bsw@9: end bsw@9: bsw@9: if new_password1 ~= new_password2 then bsw@9: slot.put_into("error", _"New passwords does not match.") bsw@9: return false bsw@9: end bsw@9: bsw@9: if #new_password1 < 8 then bsw@9: slot.put_into("error", _"New passwords is too short.") bsw@9: return false bsw@9: end bsw@9: bsw@9: app.session.member:set_password(new_password1) bsw@9: app.session.member:save() bsw@9: bsw@9: slot.put_into("notice", _"Your password has been updated successfully")