liquid_feedback_frontend
annotate model/newsletter.lua @ 1248:c0fd12b97d65
Changes on notifications system, newsletter support added
| author | bsw | 
|---|---|
| date | Tue Apr 05 20:40:37 2016 +0200 (2016-04-05) | 
| parents | |
| children | 659e3eda2fad | 
| rev | line source | 
|---|---|
| bsw@1248 | 1 Newsletter = mondelefant.new_class() | 
| bsw@1248 | 2 Newsletter.table = 'newsletter' | 
| bsw@1248 | 3 | 
| bsw@1248 | 4 function Newsletter:send_next_newsletter() | 
| bsw@1248 | 5 local newsletter_to_send = NewsletterToSend:get_next() | 
| bsw@1248 | 6 if not newsletter_to_send then | 
| bsw@1248 | 7 return false | 
| bsw@1248 | 8 end | 
| bsw@1248 | 9 local newsletter = newsletter_to_send.newsletter | 
| bsw@1248 | 10 | 
| bsw@1248 | 11 local newsletter_to_send = NewsletterToSend:by_newsletter_id(newsletter.id) | 
| bsw@1248 | 12 newsletter_to_send:load("member") | 
| bsw@1248 | 13 | 
| bsw@1248 | 14 newsletter.sent = "now" | 
| bsw@1248 | 15 newsletter:save() | 
| bsw@1248 | 16 | 
| bsw@1248 | 17 io.stderr:write("Sending newsletter " .. newsletter.id .. " to " .. (#newsletter_to_send) .. " members\n") | 
| bsw@1248 | 18 | 
| bsw@1248 | 19 for i, n in ipairs(newsletter_to_send) do | 
| bsw@1248 | 20 | 
| bsw@1248 | 21 local member = newsletter_to_send.member | 
| bsw@1248 | 22 | 
| bsw@1248 | 23 if not member.notify_email then | 
| bsw@1248 | 24 return | 
| bsw@1248 | 25 end | 
| bsw@1248 | 26 | 
| bsw@1248 | 27 io.stderr:write("Sending newsletter " .. newsletter.id .. " to " .. member.notify_email .. "\n") | 
| bsw@1248 | 28 | 
| bsw@1248 | 29 local success = net.send_mail{ | 
| bsw@1248 | 30 envelope_from = config.mail_envelope_from, | 
| bsw@1248 | 31 from = config.mail_from, | 
| bsw@1248 | 32 reply_to = config.mail_reply_to, | 
| bsw@1248 | 33 to = member.notify_email, | 
| bsw@1248 | 34 subject = newsletter.subject, | 
| bsw@1248 | 35 content_type = "text/plain; charset=UTF-8", | 
| bsw@1248 | 36 content = newsletter.content | 
| bsw@1248 | 37 } | 
| bsw@1248 | 38 | 
| bsw@1248 | 39 end | 
| bsw@1248 | 40 | 
| bsw@1248 | 41 end |