annotate model/newsletter_to_send.lua @ 1447:930fed8d0004
Fixed missing closing end
 | author | bsw | 
 | date | Thu Oct 18 17:12:47 2018 +0200 (2018-10-18) | 
 | 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 |