liquid_feedback_frontend

annotate app/main/index/_action/register.lua @ 5:afd9f769c7ae

Version beta1

Final voting with Schulze-Method is now possible

Many bug fixes and code cleanup

Registration with invite codes

More sort and filter options

Seperated display of "supporters" and "potential supporters"

Optical changes

Flood limit / initiative contigent is now checked by frontend

Neccessary changes to access core beta11
author bsw/jbe
date Fri Dec 25 12:00:00 2009 +0100 (2009-12-25)
parents
children 8d91bccab0bf
rev   line source
bsw/jbe@5 1 local invite_code = InviteCode:by_code(param.get("code"))
bsw/jbe@5 2
bsw/jbe@5 3 if not invite_code or invite_code.used then
bsw/jbe@5 4 slot.put_into("error", _"The code you've entered is invalid")
bsw/jbe@5 5 request.redirect{
bsw/jbe@5 6 mode = "forward",
bsw/jbe@5 7 module = "index",
bsw/jbe@5 8 view = "register"
bsw/jbe@5 9 }
bsw/jbe@5 10 return false
bsw/jbe@5 11 end
bsw/jbe@5 12
bsw/jbe@5 13 local name = param.get("name")
bsw/jbe@5 14
bsw/jbe@5 15 if invite_code and not name then
bsw/jbe@5 16 slot.put_into("notice", _"Invite code valid!")
bsw/jbe@5 17 request.redirect{
bsw/jbe@5 18 mode = "redirect",
bsw/jbe@5 19 module = "index",
bsw/jbe@5 20 view = "register",
bsw/jbe@5 21 params = { code = invite_code.code }
bsw/jbe@5 22 }
bsw/jbe@5 23 return false
bsw/jbe@5 24 end
bsw/jbe@5 25
bsw/jbe@5 26 if Member:by_name(name) then
bsw/jbe@5 27 slot.put_into("error", _"This name is already taken, please choose another one!")
bsw/jbe@5 28 request.redirect{
bsw/jbe@5 29 mode = "redirect",
bsw/jbe@5 30 module = "index",
bsw/jbe@5 31 view = "register",
bsw/jbe@5 32 params = { code = invite_code.code }
bsw/jbe@5 33 }
bsw/jbe@5 34 return false
bsw/jbe@5 35 end
bsw/jbe@5 36
bsw/jbe@5 37 local login = param.get("login")
bsw/jbe@5 38
bsw/jbe@5 39 if name and not login then
bsw/jbe@5 40 slot.put_into("notice", _"Name is available")
bsw/jbe@5 41 request.redirect{
bsw/jbe@5 42 mode = "redirect",
bsw/jbe@5 43 module = "index",
bsw/jbe@5 44 view = "register",
bsw/jbe@5 45 params = {
bsw/jbe@5 46 code = invite_code.code,
bsw/jbe@5 47 name = name
bsw/jbe@5 48 }
bsw/jbe@5 49 }
bsw/jbe@5 50 return false
bsw/jbe@5 51 end
bsw/jbe@5 52
bsw/jbe@5 53 if Member:by_login(login) then
bsw/jbe@5 54 slot.put_into("error", _"This login is already taken, please choose another one!")
bsw/jbe@5 55 request.redirect{
bsw/jbe@5 56 mode = "redirect",
bsw/jbe@5 57 module = "index",
bsw/jbe@5 58 view = "register",
bsw/jbe@5 59 params = {
bsw/jbe@5 60 code = invite_code.code,
bsw/jbe@5 61 name = name
bsw/jbe@5 62 }
bsw/jbe@5 63 }
bsw/jbe@5 64 return false
bsw/jbe@5 65 end
bsw/jbe@5 66
bsw/jbe@5 67 local password1 = param.get("password1")
bsw/jbe@5 68 local password2 = param.get("password2")
bsw/jbe@5 69
bsw/jbe@5 70 if login and not password1 then
bsw/jbe@5 71 slot.put_into("notice", _"Login is available")
bsw/jbe@5 72 request.redirect{
bsw/jbe@5 73 mode = "redirect",
bsw/jbe@5 74 module = "index",
bsw/jbe@5 75 view = "register",
bsw/jbe@5 76 params = {
bsw/jbe@5 77 code = invite_code.code,
bsw/jbe@5 78 name = name,
bsw/jbe@5 79 login = login
bsw/jbe@5 80 }
bsw/jbe@5 81 }
bsw/jbe@5 82 return false
bsw/jbe@5 83 end
bsw/jbe@5 84
bsw/jbe@5 85 if password1 ~= password2 then
bsw/jbe@5 86 slot.put_into("error", _"Passwords don't match!")
bsw/jbe@5 87 request.redirect{
bsw/jbe@5 88 mode = "redirect",
bsw/jbe@5 89 module = "index",
bsw/jbe@5 90 view = "register",
bsw/jbe@5 91 params = {
bsw/jbe@5 92 code = invite_code.code,
bsw/jbe@5 93 name = name,
bsw/jbe@5 94 login = login
bsw/jbe@5 95 }
bsw/jbe@5 96 }
bsw/jbe@5 97 return false
bsw/jbe@5 98 end
bsw/jbe@5 99
bsw/jbe@5 100 if #password1 < 8 then
bsw/jbe@5 101 slot.put_into("error", _"Passwords must consist of at least 8 characters!")
bsw/jbe@5 102 request.redirect{
bsw/jbe@5 103 mode = "redirect",
bsw/jbe@5 104 module = "index",
bsw/jbe@5 105 view = "register",
bsw/jbe@5 106 params = {
bsw/jbe@5 107 code = invite_code.code,
bsw/jbe@5 108 name = name,
bsw/jbe@5 109 login = login
bsw/jbe@5 110 }
bsw/jbe@5 111 }
bsw/jbe@5 112 return false
bsw/jbe@5 113 end
bsw/jbe@5 114
bsw/jbe@5 115 local member = Member:new()
bsw/jbe@5 116
bsw/jbe@5 117 member.login = login
bsw/jbe@5 118 member.name = name
bsw/jbe@5 119 member:set_password(password1)
bsw/jbe@5 120 member:save()
bsw/jbe@5 121
bsw/jbe@5 122 invite_code.member_id = member.id
bsw/jbe@5 123 invite_code.used = "now"
bsw/jbe@5 124 invite_code:save()
bsw/jbe@5 125
bsw/jbe@5 126 slot.put_into("notice", _"You've successfully registered and you can login now with your login and password!")
bsw/jbe@5 127
bsw/jbe@5 128 request.redirect{
bsw/jbe@5 129 mode = "redirect",
bsw/jbe@5 130 module = "index",
bsw/jbe@5 131 view = "login",
bsw/jbe@5 132 }

Impressum / About Us