liquid_feedback_frontend

view app/main/index/_action/send_login.lua @ 990:77873f08d94f

Completed support for check delegations, removed debug code
author bsw
date Sat Apr 20 19:26:58 2013 +0200 (2013-04-20)
parents 5a712ec1a7f1
children 130eed8f7a79
line source
1 --trace.disable()
3 local email = param.get("email")
5 local members = Member:new_selector()
6 :add_where{ "split_part(notify_email, '@', 1) = split_part(?, '@', 1)", email }
7 :add_where{ "lower(split_part(notify_email, '@', 2)) = lower(split_part(?, '@', 2))", email }
8 :add_where("login_recovery_expiry ISNULL OR login_recovery_expiry < now()")
9 :exec()
11 if #members < 1 then
12 return
13 end
15 local logins = {}
17 for i, member in ipairs(members) do
18 local expiry = db:query("SELECT now() + '7 days'::interval as expiry", "object").expiry
19 member.login_recovery_expiry = expiry
20 member:save()
21 logins[#logins+1] = member.login
22 end
24 local content = slot.use_temporary(function()
25 slot.put(_"Hello,\n\n")
26 slot.put(_"the following login is connected to this email address:\n\n")
27 for i, login in ipairs(logins) do
28 slot.put(_"Login-Name: " .. login .. "\n")
29 end
30 end)
32 local success = net.send_mail{
33 envelope_from = config.mail_envelope_from,
34 from = config.mail_from,
35 reply_to = config.mail_reply_to,
36 to = email,
37 subject = config.mail_subject_prefix .. _"Login name request",
38 content_type = "text/plain; charset=UTF-8",
39 content = content
40 }
42 slot.put_into("notice", _"Your request has been processed.")

Impressum / About Us