liquid_feedback_frontend

annotate app/main/member/_action/update_login.lua @ 9:0ee1e0c42d4c

Version beta5

Minor security fix: Added missing security filter for admin section. Reading of member listing including login names was possible for all users. Write access has not been possible though.

Changing of name and login is possible while a history of these changes is written and accessible by all users.

Statistics shown in area list

Trimming of user input also converts multiple whitespaces to single space character.
author bsw
date Mon Jan 04 12:00:00 2010 +0100 (2010-01-04)
parents
children c587d8762e62
rev   line source
bsw@9 1 local login = param.get("login")
bsw@9 2
bsw@9 3 login = util.trim(login)
bsw@9 4
bsw@9 5 if #login < 3 then
bsw@9 6 slot.put_into(_error, _"This login is too short!")
bsw@9 7 end
bsw@9 8
bsw@9 9 app.session.member.login = login
bsw@9 10
bsw@9 11 local db_error = app.session.member:try_save()
bsw@9 12
bsw@9 13 if db_error then
bsw@9 14 if db_error:is_kind_of("IntegrityConstraintViolation.UniqueViolation") then
bsw@9 15 slot.put_into("error", _"This login is already taken, please choose another one!")
bsw@9 16 return false
bsw@9 17 end
bsw@9 18 db_error:escalate()
bsw@9 19 end
bsw@9 20
bsw@9 21 slot.put_into("notice", _("Your login has been changed to '#{login}'", { login = login }))

Impressum / About Us