liquid_feedback_frontend
diff 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
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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/app/main/index/_action/register.lua Fri Dec 25 12:00:00 2009 +0100 1.3 @@ -0,0 +1,132 @@ 1.4 +local invite_code = InviteCode:by_code(param.get("code")) 1.5 + 1.6 +if not invite_code or invite_code.used then 1.7 + slot.put_into("error", _"The code you've entered is invalid") 1.8 + request.redirect{ 1.9 + mode = "forward", 1.10 + module = "index", 1.11 + view = "register" 1.12 + } 1.13 + return false 1.14 +end 1.15 + 1.16 +local name = param.get("name") 1.17 + 1.18 +if invite_code and not name then 1.19 + slot.put_into("notice", _"Invite code valid!") 1.20 + request.redirect{ 1.21 + mode = "redirect", 1.22 + module = "index", 1.23 + view = "register", 1.24 + params = { code = invite_code.code } 1.25 + } 1.26 + return false 1.27 +end 1.28 + 1.29 +if Member:by_name(name) then 1.30 + slot.put_into("error", _"This name is already taken, please choose another one!") 1.31 + request.redirect{ 1.32 + mode = "redirect", 1.33 + module = "index", 1.34 + view = "register", 1.35 + params = { code = invite_code.code } 1.36 + } 1.37 + return false 1.38 +end 1.39 + 1.40 +local login = param.get("login") 1.41 + 1.42 +if name and not login then 1.43 + slot.put_into("notice", _"Name is available") 1.44 + request.redirect{ 1.45 + mode = "redirect", 1.46 + module = "index", 1.47 + view = "register", 1.48 + params = { 1.49 + code = invite_code.code, 1.50 + name = name 1.51 + } 1.52 + } 1.53 + return false 1.54 +end 1.55 + 1.56 +if Member:by_login(login) then 1.57 + slot.put_into("error", _"This login is already taken, please choose another one!") 1.58 + request.redirect{ 1.59 + mode = "redirect", 1.60 + module = "index", 1.61 + view = "register", 1.62 + params = { 1.63 + code = invite_code.code, 1.64 + name = name 1.65 + } 1.66 + } 1.67 + return false 1.68 +end 1.69 + 1.70 +local password1 = param.get("password1") 1.71 +local password2 = param.get("password2") 1.72 + 1.73 +if login and not password1 then 1.74 + slot.put_into("notice", _"Login is available") 1.75 + request.redirect{ 1.76 + mode = "redirect", 1.77 + module = "index", 1.78 + view = "register", 1.79 + params = { 1.80 + code = invite_code.code, 1.81 + name = name, 1.82 + login = login 1.83 + } 1.84 + } 1.85 + return false 1.86 +end 1.87 + 1.88 +if password1 ~= password2 then 1.89 + slot.put_into("error", _"Passwords don't match!") 1.90 + request.redirect{ 1.91 + mode = "redirect", 1.92 + module = "index", 1.93 + view = "register", 1.94 + params = { 1.95 + code = invite_code.code, 1.96 + name = name, 1.97 + login = login 1.98 + } 1.99 + } 1.100 + return false 1.101 +end 1.102 + 1.103 +if #password1 < 8 then 1.104 + slot.put_into("error", _"Passwords must consist of at least 8 characters!") 1.105 + request.redirect{ 1.106 + mode = "redirect", 1.107 + module = "index", 1.108 + view = "register", 1.109 + params = { 1.110 + code = invite_code.code, 1.111 + name = name, 1.112 + login = login 1.113 + } 1.114 + } 1.115 + return false 1.116 +end 1.117 + 1.118 +local member = Member:new() 1.119 + 1.120 +member.login = login 1.121 +member.name = name 1.122 +member:set_password(password1) 1.123 +member:save() 1.124 + 1.125 +invite_code.member_id = member.id 1.126 +invite_code.used = "now" 1.127 +invite_code:save() 1.128 + 1.129 +slot.put_into("notice", _"You've successfully registered and you can login now with your login and password!") 1.130 + 1.131 + request.redirect{ 1.132 + mode = "redirect", 1.133 + module = "index", 1.134 + view = "login", 1.135 + }