Commit 95a396f7edbb53065b957c075221cc17e531117a

Authored by Leandro Santos
1 parent 6f962996

removing email_article plugin from stable

plugins/email_article/controllers/email_article_plugin_myprofile_controller.rb
... ... @@ -1,47 +0,0 @@
1   -class EmailArticlePluginMyprofileController < MyProfileController
2   -
3   - needs_profile
4   -
5   - def send_email
6   - if user.is_admin?(profile)
7   - article = Article.find(params[:id])
8   - EmailArticlePluginMyprofileController::Sender.content(article).deliver
9   - render :text => "Email sent to queue"
10   - else
11   - render :status => :forbidden, :text => "Forbidden user"
12   - end
13   - end
14   -
15   - class Sender < ActionMailer::Base
16   - def content(article)
17   - members = article.profile.members
18   - emails = []
19   - members.each{ |m|
20   - emails.push(m.user.email)
21   - }
22   - mail(
23   - content_type: 'text/html',
24   - to: emails,
25   - from: "#{article.author.user.name} <#{article.author.user.email}>",
26   - reply_to: article.author.user.email,
27   - subject: "[Artigo] " + article.title,
28   - body: set_absolute_path(article.body, article.environment)
29   - )
30   - end
31   -
32   - def set_absolute_path(body, environment)
33   - parsed = Hpricot(body.to_s)
34   - parsed.search('img[@src]').map { |i| change_element_path(i, 'src', environment) }
35   - parsed.search('a[@href]').map { |i| change_element_path(i, 'href', environment) }
36   - parsed.to_s
37   - end
38   -
39   - def change_element_path(el, attribute, environment)
40   - fullpath = /^http/.match(el[attribute])
41   - if not fullpath
42   - relative_path = /\/?(.*)/.match(el[attribute])
43   - el[attribute] = "http://#{environment.default_hostname}/#{relative_path[1]}"
44   - end
45   - end
46   - end
47   -end
plugins/email_article/lib/email_article_plugin.rb
... ... @@ -1,33 +0,0 @@
1   -class EmailArticlePlugin < Noosfero::Plugin
2   -
3   - def self.plugin_name
4   - "Email Article to Community Members Plugin"
5   - end
6   -
7   - def self.plugin_description
8   - _("A plugin that emails an article to the members of the community")
9   - end
10   -
11   - def article_toolbar_extra_buttons
12   - label = _("Send article to members")
13   - htmlclass = _("button with-text icon-menu-mail")
14   - title = _("Email article to all community members")
15   -
16   - proc {
17   - if !profile.blank? and !user.blank? and user.is_admin?(profile) and @page.kind_of?(TextArticle)
18   - link_to_remote(
19   - label,
20   - {
21   - :url => { :controller => 'email_article_plugin_myprofile', :action => "send_email", :id => @page, :profile => @page.profile},
22   - :method => :get,
23   - :success => "display_notice('" + _("Messages are being sent") + "')",
24   - :failure => "display_notice('" + _("Error sending emails") + "')",
25   - :confirm => _("Are you sure you want to email this article to all community members?"),
26   - },
27   - :class => htmlclass,
28   - :title => title
29   - )
30   - end
31   - }
32   - end
33   -end
plugins/email_article/test/functional/email_article_plugin_myprofile_controller_test.rb
... ... @@ -1,39 +0,0 @@
1   -require File.dirname(__FILE__) + '/../../../../test/test_helper'
2   -
3   -class EmailArticlePluginMyprofileControllerTest < ActionController::TestCase
4   -
5   - def setup
6   - Environment.delete_all
7   - @environment = Environment.new(:name => 'testenv', :is_default => true)
8   - @environment.enabled_plugins = ['EmailArticlePlugin']
9   - @environment.save!
10   - end
11   -
12   - should 'be able to deliver mail as profile admin' do
13   - @profile = Community.create!(:name => 'Sample community', :identifier => 'sample-community')
14   - @user = create_user('testinguser')
15   - login_as(@user.login)
16   - @profile.add_admin(@user.person)
17   - @article = @profile.articles.create!(:name => 'a test article', :last_changed_by => @user.person)
18   - @article.save
19   - get :send_email, :profile => @profile.identifier, :id => @article.id
20   - assert_response :success
21   - end
22   -
23   - should 'deny access to email article unless if profile admin' do
24   - @profile = Community.create!(:name => 'Another community', :identifier => 'another-community')
25   - @user = create_user('user-out-of-the-community')
26   - login_as(@user.login)
27   - @article = @profile.articles.create!(:name => 'a test article', :last_changed_by => @user.person)
28   - @article.save
29   - get :send_email, :profile => @profile.identifier, :id => @article.id
30   - assert_response 403
31   - end
32   -
33   -end
34   -
35   -
36   -
37   -
38   -
39   -
plugins/email_article/test/test_helper.rb
... ... @@ -1 +0,0 @@
1   -require File.dirname(__FILE__) + '/../../../test/test_helper'
plugins/email_article/test/unit/email_article_plugin_test.rb
... ... @@ -1,21 +0,0 @@
1   -require File.dirname(__FILE__) + '/../test_helper'
2   -
3   -class EmailArticlePluginTest < ActiveSupport::TestCase
4   -
5   - def setup
6   - @plugin = EmailArticlePlugin.new
7   - end
8   -
9   - should 'be a noosfero plugin' do
10   - assert_kind_of Noosfero::Plugin, @plugin
11   - end
12   -
13   - should 'have name' do
14   - assert_equal 'Email Article to Community Members Plugin', EmailArticlePlugin.plugin_name
15   - end
16   -
17   - should 'have description' do
18   - assert_equal _("A plugin that emails an article to the members of the community"), EmailArticlePlugin.plugin_description
19   - end
20   -
21   -end