[Git][noosfero/noosfero][master] 2 commits: newsletter-plugin: properly replace mailing_url
Rodrigo Souto
gitlab at mg.gitlab.com
Tue Dec 26 17:17:57 BRST 2017
Rodrigo Souto pushed to branch master at Noosfero / noosfero
Commits:
d29822a2 by Rodrigo Souto at 2017-12-01T13:10:42-03:00
newsletter-plugin: properly replace mailing_url
- - - - -
2b029783 by Rodrigo Souto at 2017-12-26T19:17:48+00:00
Merge branch 'newsletter-mailing-link' into 'master'
newsletter-plugin: properly replace mailing_url
See merge request noosfero/noosfero!1357
- - - - -
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/compare/a269d4841e3f076e5db8c4eb0436dde11830aa04...2b029783f67b08e14b917b17d130dbd13194e55f
---
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/a269d4841e3f076e5db8c4eb0436dde11830aa04...2b029783f67b08e14b917b17d130dbd13194e55f
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/b6a2902a/attachment-0001.html>
More information about the Noosfero-dev
mailing list