liquid_feedback_frontend

annotate model/newsletter_to_send.lua @ 1742:9f96b7e6e5f2

Changed layout of survey
author bsw
date Mon Oct 11 10:39:23 2021 +0200 (2021-10-11)
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