liquid_feedback_frontend
diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/model/newsletter.lua Tue Apr 05 20:40:37 2016 +0200 1.3 @@ -0,0 +1,41 @@ 1.4 +Newsletter = mondelefant.new_class() 1.5 +Newsletter.table = 'newsletter' 1.6 + 1.7 +function Newsletter:send_next_newsletter() 1.8 + local newsletter_to_send = NewsletterToSend:get_next() 1.9 + if not newsletter_to_send then 1.10 + return false 1.11 + end 1.12 + local newsletter = newsletter_to_send.newsletter 1.13 + 1.14 + local newsletter_to_send = NewsletterToSend:by_newsletter_id(newsletter.id) 1.15 + newsletter_to_send:load("member") 1.16 + 1.17 + newsletter.sent = "now" 1.18 + newsletter:save() 1.19 + 1.20 + io.stderr:write("Sending newsletter " .. newsletter.id .. " to " .. (#newsletter_to_send) .. " members\n") 1.21 + 1.22 + for i, n in ipairs(newsletter_to_send) do 1.23 + 1.24 + local member = newsletter_to_send.member 1.25 + 1.26 + if not member.notify_email then 1.27 + return 1.28 + end 1.29 + 1.30 + io.stderr:write("Sending newsletter " .. newsletter.id .. " to " .. member.notify_email .. "\n") 1.31 + 1.32 + local success = net.send_mail{ 1.33 + envelope_from = config.mail_envelope_from, 1.34 + from = config.mail_from, 1.35 + reply_to = config.mail_reply_to, 1.36 + to = member.notify_email, 1.37 + subject = newsletter.subject, 1.38 + content_type = "text/plain; charset=UTF-8", 1.39 + content = newsletter.content 1.40 + } 1.41 + 1.42 + end 1.43 + 1.44 +end 1.45 \ No newline at end of file