liquid_feedback_frontend

annotate model/newsletter_to_send.lua @ 1859:02c34183b6df

Fixed wrong filename in INSTALL file
author bsw
date Tue Nov 28 18:54:51 2023 +0100 (17 months ago)
parents 4b1f59181341
children
rev   line source
bsw@1248 1 NewsletterToSend = mondelefant.new_class()
bsw@1248 2 NewsletterToSend.table = 'newsletter_to_send'
bsw@1248 3
bsw@1248 4 NewsletterToSend:add_reference{
bsw@1248 5 mode = 'm1',
bsw@1248 6 to = "Newsletter",
bsw@1248 7 this_key = 'newsletter_id',
bsw@1248 8 that_key = 'id',
bsw@1248 9 ref = 'newsletter',
bsw@1248 10 }
bsw@1248 11
bsw@1248 12 NewsletterToSend:add_reference{
bsw@1248 13 mode = 'm1',
bsw@1248 14 to = "Member",
bsw@1248 15 this_key = 'recipient_id',
bsw@1248 16 that_key = 'id',
bsw@1248 17 ref = 'member',
bsw@1248 18 }
bsw@1248 19
bsw@1248 20 function NewsletterToSend:get_next()
bsw@1248 21 return NewsletterToSend:new_selector()
bsw@1248 22 :set_distinct("newsletter_id")
bsw@1252 23 -- SAFETY FIRST, NEVER send newsletter more then 21 days in past or future
bsw@1252 24 :add_where("now() - published BETWEEN '-21 days'::interval AND '21 days'::interval")
bsw@1252 25 :add_order_by("published")
bsw@1248 26 :add_order_by("newsletter_id")
bsw@1248 27 :limit(1)
bsw@1248 28 :optional_object_mode()
bsw@1248 29 :exec()
bsw@1248 30 end
bsw@1248 31
bsw@1248 32 function NewsletterToSend:by_newsletter_id(id)
bsw@1248 33 return NewsletterToSend:new_selector()
bsw@1248 34 :add_where{ "newsletter_id = ?", id }
bsw@1296 35 :add_order_by("random()")
bsw@1248 36 :exec()
bsw@1248 37 end

Impressum / About Us