liquid_feedback_frontend

view model/newsletter_to_send.lua @ 1296:4b1f59181341

Fix newsletter sending
author bsw
date Mon Apr 18 17:56:19 2016 +0200 (2016-04-18)
parents 659e3eda2fad
children
line source
1 NewsletterToSend = mondelefant.new_class()
2 NewsletterToSend.table = 'newsletter_to_send'
4 NewsletterToSend:add_reference{
5 mode = 'm1',
6 to = "Newsletter",
7 this_key = 'newsletter_id',
8 that_key = 'id',
9 ref = 'newsletter',
10 }
12 NewsletterToSend:add_reference{
13 mode = 'm1',
14 to = "Member",
15 this_key = 'recipient_id',
16 that_key = 'id',
17 ref = 'member',
18 }
20 function NewsletterToSend:get_next()
21 return NewsletterToSend:new_selector()
22 :set_distinct("newsletter_id")
23 -- SAFETY FIRST, NEVER send newsletter more then 21 days in past or future
24 :add_where("now() - published BETWEEN '-21 days'::interval AND '21 days'::interval")
25 :add_order_by("published")
26 :add_order_by("newsletter_id")
27 :limit(1)
28 :optional_object_mode()
29 :exec()
30 end
32 function NewsletterToSend:by_newsletter_id(id)
33 return NewsletterToSend:new_selector()
34 :add_where{ "newsletter_id = ?", id }
35 :add_order_by("random()")
36 :exec()
37 end

Impressum / About Us