<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>AR_MAILER_LICENSE</filename>
    </added>
    <added>
      <filename>app/models/newsletter_email.rb</filename>
    </added>
    <added>
      <filename>db/migrate/002_create_newsletter_emails.rb</filename>
    </added>
    <added>
      <filename>lib/action_mailer/ar_mailer.rb</filename>
    </added>
    <added>
      <filename>lib/action_mailer/ar_sendmail.rb</filename>
    </added>
    <added>
      <filename>lib/smtp_tls.rb</filename>
    </added>
    <added>
      <filename>lib/tasks/newsletter_extension_ar_mailer_tasks.rake</filename>
    </added>
    <added>
      <filename>test/fixtures/newsletter_emails.yml</filename>
    </added>
    <added>
      <filename>test/unit/newsletter_email_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -32,11 +32,15 @@ private
   def send_mail(newsletter, page)
     subject = &quot;[#{newsletter.config[&quot;subject_prefix&quot;]}] #{page.title}&quot;
     html_body = page.render    
-    from = newsletter.config[&quot;from&quot;]
-    newsletter.recipients.each do |address|
-      recipients = address
-      email = NewsletterMailer.create_newsletter(subject, html_body, recipients, from)
-      NewsletterMailer.deliver(email)
+    from = newsletter.config[&quot;from&quot;]    
+    newsletter.recipients.each do |address|      
+      mail = NewsletterMailer.create_newsletter(subject, html_body, address, from)
+      NewsletterEmail.create({
+        :page_id        =&gt; page.id,
+        :mail           =&gt; mail.encoded, 
+        :to             =&gt; address,
+        :from           =&gt; from
+      })
     end        
   end     
   </diff>
      <filename>app/controllers/newsletter_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,6 +3,7 @@
   &lt;h2&gt;Newsletter:&lt;/h2&gt;
   &lt;div class=&quot;form-area&quot;&gt;
     &lt;ul&gt;
+      &lt;li&gt;&lt;strong&gt;Queue&lt;/strong&gt;: &lt;%= NewsletterEmail.count(:conditions =&gt; [&quot;page_id = ?&quot;, @page.id]) %&gt;&lt;/li&gt;
       &lt;li&gt;&lt;strong&gt;Active subscribers&lt;/strong&gt;: &lt;%= newsletter.active_subscribers.count %&gt;&lt;/li&gt;
     &lt;/ul&gt;
     &lt;% form_tag({:controller =&gt; '/newsletter', :action =&gt; 'new', :page_id =&gt; @page.id}) do %&gt;</diff>
      <filename>app/views/admin/page/_send_as_newsletter_button.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -19,4 +19,4 @@ class CreateNewsletterSubscribers &lt; ActiveRecord::Migration
   def self.down
     drop_table :newsletter_subscribers
   end
-end
+end
\ No newline at end of file</diff>
      <filename>db/migrate/001_create_newsletter_subscribers.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,3 +32,12 @@ first_email_for_newsletter:
   status_id: 100
   parent_id: 2
   published_at: &lt;%= 1.day.ago.to_s :db %&gt;
+second_email_for_newsletter:
+  id: 5
+  title: Second email for Newsletter
+  breadcrumb: second-email-for-newsletter
+  slug: second-email-for-newsletter
+  status_id: 100
+  parent_id: 2
+  published_at: &lt;%= 1.day.ago.to_s :db %&gt;
+  
\ No newline at end of file</diff>
      <filename>test/fixtures/pages.yml</filename>
    </modified>
    <modified>
      <diff>@@ -48,15 +48,18 @@ class NewsletterControllerTest &lt; Test::Unit::TestCase
   end
   
   def test_create_should_send_emails_if_page_is_child_of_a_newsletter_page
-    post :create, :page_id =&gt; pages(:first_email_for_newsletter).id
-    assert_response :redirect, :controller =&gt; '/admin/page', :action =&gt; 'edit', :id =&gt; pages(:first_email_for_newsletter).id
-    assert_equal 2, ActionMailer::Base.deliveries.size
-    mail    = ActionMailer::Base.deliveries[0]
-    mail_2  = ActionMailer::Base.deliveries[1]
-    assert_equal &quot;[#{pages(:first_email_for_newsletter).parent.config[&quot;subject_prefix&quot;]}] #{pages(:first_email_for_newsletter).title}&quot;, mail.header[&quot;subject&quot;].body
-    assert_equal &quot;Tom &lt;tom@example.com&gt;&quot;, mail.header[&quot;to&quot;].body
-    assert_equal &quot;Mike &lt;mike@example.com&gt;&quot;, mail_2.header[&quot;to&quot;].body
-    assert_equal &quot;Hello from the first newsletter&quot;, mail.body
+    subscribers_count = pages(:newsletter).active_subscribers.count
+    assert_difference NewsletterEmail, :count, subscribers_count * 2 do
+      post :create, :page_id =&gt; pages(:first_email_for_newsletter).id
+      assert_redirected_to :controller =&gt; '/admin/page', :action =&gt; 'edit', :id =&gt; pages(:first_email_for_newsletter).id      
+      assert_equal subscribers_count, NewsletterEmail.count(:conditions =&gt; [&quot;page_id = ?&quot;, pages(:first_email_for_newsletter).id])
+      assert_equal pages(:first_email_for_newsletter), NewsletterEmail.find(:first).page
+      
+      post :create, :page_id =&gt; pages(:second_email_for_newsletter).id
+      assert_redirected_to :controller =&gt; '/admin/page', :action =&gt; 'edit', :id =&gt; pages(:first_email_for_newsletter).id
+      assert_equal subscribers_count, NewsletterEmail.count(:conditions =&gt; [&quot;page_id = ?&quot;, pages(:second_email_for_newsletter).id])
+      assert_equal pages(:second_email_for_newsletter), NewsletterEmail.find(:all).last.page
+    end    
   end
   
 end</diff>
      <filename>test/functional/newsletter_controller_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>20d7feb63283613fb7978df8b96ece94cd2ae4e5</id>
    </parent>
  </parents>
  <author>
    <name>Andrea Franz</name>
    <email>andrea@gravityblast.com</email>
  </author>
  <url>http://github.com/pilu/radiant-newsletter/commit/72b308e0269031ab9339e9f664ad8e3b77b47ecf</url>
  <id>72b308e0269031ab9339e9f664ad8e3b77b47ecf</id>
  <committed-date>2008-01-07T07:08:52-08:00</committed-date>
  <authored-date>2008-01-07T07:08:52-08:00</authored-date>
  <message>Added ar_mailer; sent pages are saved in the NewsletterEmails table

git-svn-id: http://dev.gravityblast.com/svn/projects/radiant/extensions/newsletter@65 f0b21ff1-402e-e14f-a5c2-e6dc25fb685e</message>
  <tree>a512c19657e2f5e655d8c379aa1dcef3d895b2d1</tree>
  <committer>
    <name>Andrea Franz</name>
    <email>andrea@gravityblast.com</email>
  </committer>
</commit>
