7: def print_state_column
8: msg = ""
9:
10: if self.queued_at
11: msg += "Queued at: #{queued_at.to_s(:short)}<br/>"
12: else
13: msg += "Not queued yet<br/>"
14: end
15:
16: cnt_100 = self.newsletter.newsletter_subscriptions.count
17: if cnt_100 == 0
18: msg += "No subscriptions"
19: else
20: cnt_q = NewsletterDelivery.find(:all,
21: :order => 'delivered_at desc',
22: :conditions => ['newsletter_issue_id = ?', self.id]
23: ).length+0.0
24: cnt_per = (cnt_q/cnt_100)*100.0
25: cnt_p = cnt_per > 100.0 ? 100 : cnt_per.round
26: msg += "<img src='/images/bar_green.gif' width='#{2*cnt_p}' alt='Sent...' height='10'><img
27: src='/images/bar_empty.gif' width='#{200-(2*cnt_p)}' alt='Queued...' height='10'><br/>
28: #{cnt_q.round} of #{cnt_100} (#{cnt_p}%) mails queued."
29: end
30: msg
31: end