[Git][noosfero/noosfero][stable-1.10] Merge branch 'newsletter-mailing-link' into 'master'

Rodrigo Souto gitlab at mg.gitlab.com
Tue Dec 26 17:19:15 BRST 2017


Rodrigo Souto pushed to branch stable-1.10 at Noosfero / noosfero


Commits:
802c22a1 by Rodrigo Souto at 2017-12-26T19:19:10+00:00
Merge branch 'newsletter-mailing-link' into 'master'

newsletter-plugin: properly replace mailing_url

See merge request noosfero/noosfero!1357

(cherry picked from commit 2b029783f67b08e14b917b17d130dbd13194e55f)

d29822a2 newsletter-plugin: properly replace mailing_url
- - - - -


4 changed files:

- plugins/newsletter/lib/newsletter_plugin.rb
- plugins/newsletter/lib/newsletter_plugin/moderate_newsletter.rb
- plugins/newsletter/lib/newsletter_plugin/newsletter_mailing.rb
- plugins/newsletter/test/unit/newsletter_plugin_newsletter_mailing_test.rb


Changes:

=====================================
plugins/newsletter/lib/newsletter_plugin.rb
=====================================
--- a/plugins/newsletter/lib/newsletter_plugin.rb
+++ b/plugins/newsletter/lib/newsletter_plugin.rb
@@ -32,7 +32,6 @@ class NewsletterPlugin < Noosfero::Plugin
             :person => newsletter.person,
             :locale => newsletter.environment.default_locale,
           )
-          mailing.update_attribute(:body, mailing.body.gsub('{mailing_url}', mailing.url))
         end
       end
     end


=====================================
plugins/newsletter/lib/newsletter_plugin/moderate_newsletter.rb
=====================================
--- a/plugins/newsletter/lib/newsletter_plugin/moderate_newsletter.rb
+++ b/plugins/newsletter/lib/newsletter_plugin/moderate_newsletter.rb
@@ -16,7 +16,6 @@ class NewsletterPlugin::ModerateNewsletter < Task
       :person => newsletter.person,
       :locale => newsletter.environment.default_locale,
     )
-    mailing.update_attribute(:body, mailing.body.gsub('{mailing_url}', mailing.url))
   end
 
   def title


=====================================
plugins/newsletter/lib/newsletter_plugin/newsletter_mailing.rb
=====================================
--- a/plugins/newsletter/lib/newsletter_plugin/newsletter_mailing.rb
+++ b/plugins/newsletter/lib/newsletter_plugin/newsletter_mailing.rb
@@ -4,6 +4,12 @@ class NewsletterPlugin::NewsletterMailing < EnvironmentMailing
 
   validates_presence_of :person
 
+  after_create :replace_mailing_url
+
+  def replace_mailing_url
+    self.update_attribute(:body, self.body.gsub('%7Bmailing_url%7D', self.url))
+  end
+
   def url
     "#{self.source.top_url}/plugin/newsletter/mailing/#{self.id}"
   end


=====================================
plugins/newsletter/test/unit/newsletter_plugin_newsletter_mailing_test.rb
=====================================
--- a/plugins/newsletter/test/unit/newsletter_plugin_newsletter_mailing_test.rb
+++ b/plugins/newsletter/test/unit/newsletter_plugin_newsletter_mailing_test.rb
@@ -69,4 +69,21 @@ class NewsletterPluginNewsletterMailingTest < ActiveSupport::TestCase
     assert_equal "http://localhost/plugin/newsletter/mailing/#{mailing.id}", mailing.url
   end
 
+
+  should 'replace mailing_url for proper url' do
+    newsletter = NewsletterPlugin::Newsletter.create!(
+      :environment => fast_create(Environment),
+      :person => fast_create(Person),
+      :enabled => true
+    )
+    mailing = NewsletterPlugin::NewsletterMailing.create!(
+      :source => newsletter,
+      :subject => newsletter.subject,
+      :body => newsletter.body,
+      :person => newsletter.person,
+      :locale => newsletter.environment.default_locale,
+    )
+    assert_match /#{mailing.url}/, mailing.body
+  end
+
 end



View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/802c22a1e5423f19e063566b92390d3f16d5cc9f

---
View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/802c22a1e5423f19e063566b92390d3f16d5cc9f
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20171226/6875d4fd/attachment-0001.html>


More information about the Noosfero-dev mailing list