liquid_feedback_frontend
annotate app/main/role/_action/switch.lua @ 1546:ae194d0235c2
Set session cookie only if session is needed
| author | bsw | 
|---|---|
| date | Thu Oct 22 11:57:23 2020 +0200 (2020-10-22) | 
| parents | f1258993d993 | 
| children | 
| rev | line source | 
|---|---|
| bsw/jbe@1309 | 1 local id = param.get_id() | 
| bsw/jbe@1309 | 2 | 
| bsw/jbe@1309 | 3 local member_id = app.session.real_member_id or app.session.member_id | 
| bsw/jbe@1309 | 4 | 
| bsw/jbe@1309 | 5 if id then | 
| bsw/jbe@1309 | 6 local member = Member:by_id(id) | 
| bsw/jbe@1309 | 7 | 
| bsw/jbe@1309 | 8 if member.locked then | 
| bsw/jbe@1309 | 9 return | 
| bsw/jbe@1309 | 10 end | 
| bsw/jbe@1309 | 11 | 
| bsw/jbe@1309 | 12 local agent = Agent:by_pk(member.id, member_id) | 
| bsw/jbe@1309 | 13 | 
| bsw/jbe@1309 | 14 if not agent then | 
| bsw/jbe@1309 | 15 return | 
| bsw/jbe@1309 | 16 end | 
| bsw/jbe@1309 | 17 | 
| bsw/jbe@1309 | 18 local session = Session:new() | 
| bsw/jbe@1309 | 19 session.member_id = member.id | 
| bsw/jbe@1309 | 20 session.real_member_id = member_id | 
| bsw/jbe@1309 | 21 session:save() | 
| bsw/jbe@1309 | 22 | 
| bsw/jbe@1309 | 23 if not member.activated then | 
| bsw/jbe@1309 | 24 member.activated = "now" | 
| bsw/jbe@1309 | 25 end | 
| bsw/jbe@1309 | 26 | 
| bsw/jbe@1309 | 27 member.last_login = "now" | 
| bsw/jbe@1309 | 28 member.last_activity = "now" | 
| bsw/jbe@1309 | 29 member.active = true | 
| bsw/jbe@1309 | 30 member:save() | 
| bsw/jbe@1309 | 31 | 
| bsw/jbe@1309 | 32 app.session:destroy() | 
| bsw/jbe@1309 | 33 | 
| bsw@1511 | 34 session:set_cookie() | 
| bsw@1511 | 35 | 
| bsw/jbe@1309 | 36 elseif app.session.real_member_id then | 
| bsw/jbe@1309 | 37 local session = Session:new() | 
| bsw/jbe@1309 | 38 session.member_id = app.session.real_member_id | 
| bsw/jbe@1309 | 39 session:save() | 
| bsw/jbe@1309 | 40 | 
| bsw/jbe@1309 | 41 app.session:destroy() | 
| bsw/jbe@1309 | 42 | 
| bsw@1511 | 43 session:set_cookie() | 
| bsw@1511 | 44 | 
| bsw/jbe@1309 | 45 end | 
| bsw/jbe@1309 | 46 | 
| bsw/jbe@1309 | 47 if config.meta_navigation_home_url then | 
| bsw/jbe@1309 | 48 request.redirect{ external = config.meta_navigation_home_url } | 
| bsw/jbe@1309 | 49 else | 
| bsw/jbe@1309 | 50 request.redirect{ module = "index", view = "index" } | 
| bsw/jbe@1309 | 51 end |