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
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 } |