noosfero | 2 new commits pushed to repository

Victor Costa gitlab at gitlab.com
Tue Feb 10 12:34:56 BRST 2015


Victor Costa pushed to refs/heads/master at <a href="https://gitlab.com/noosfero/noosfero">Noosfero / noosfero</a>

Commits:
<a href="https://gitlab.com/noosfero/noosfero/commit/d968021fec308b3354fff17fb94c6c32677ca034">d968021f</a> by Leandro Nunes dos Santos
hide translations when there is no languages in environment

- - - - -
<a href="https://gitlab.com/noosfero/noosfero/commit/eeb785d2fe783966593f8522d44f999636b7fb27">eeb785d2</a> by Victor Costa
Merge branch 'hide_translation' into 'master'

Hide translation

Hide translation on article and event creation if there is no languages defined in environment

See merge request !443

- - - - -


Changes:

=====================================
lib/noosfero/translatable_content.rb
=====================================
--- a/lib/noosfero/translatable_content.rb
+++ b/lib/noosfero/translatable_content.rb
@@ -1,6 +1,7 @@
 module Noosfero::TranslatableContent
 
   def translatable?
+    return false if self.profile && !self.profile.environment.languages.present?
     parent.nil? || !parent.forum?
   end
 end

=====================================
test/functional/cms_controller_test.rb
=====================================
--- a/test/functional/cms_controller_test.rb
+++ b/test/functional/cms_controller_test.rb
@@ -1438,6 +1438,9 @@ class CmsControllerTest < ActionController::TestCase
   end
 
   should 'article language should be selected' do
+    e = Environment.default
+    e.languages = ['ru']
+    e.save
     textile = fast_create(TextileArticle, :profile_id => @profile.id, :path => 'textile', :language => 'ru')
     get :edit, :profile => @profile.identifier, :id => textile.id
     assert_tag :option, :attributes => { :selected => 'selected', :value => 'ru' }, :parent => {
@@ -1445,6 +1448,9 @@ class CmsControllerTest < ActionController::TestCase
   end
 
   should 'list possible languages and include blank option' do
+    e = Environment.default
+    e.languages = ['en', 'pt','fr','hy','de', 'ru', 'es', 'eo', 'it']
+    e.save
     get :new, :profile => @profile.identifier, :type => 'TextileArticle'
     assert_equal Noosfero.locales.invert, assigns(:locales)
     assert_tag :option, :attributes => { :value => '' }, :parent => {

=====================================
test/functional/content_viewer_controller_test.rb
=====================================
--- a/test/functional/content_viewer_controller_test.rb
+++ b/test/functional/content_viewer_controller_test.rb
@@ -958,6 +958,8 @@ class ContentViewerControllerTest < ActionController::TestCase
   end
 
   should 'display add translation link if article is translatable' do
+    environment.languages = ['en']
+    environment.save
     login_as @profile.identifier
     textile = fast_create(TextileArticle, :profile_id => @profile.id, :path => 'textile', :language => 'en')
     xhr :get, :view_page, :profile => @profile.identifier, :page => textile.path, :toolbar => true

=====================================
test/unit/event_test.rb
=====================================
--- a/test/unit/event_test.rb
+++ b/test/unit/event_test.rb
@@ -319,4 +319,30 @@ class EventTest < ActiveSupport::TestCase
   should 'be notifiable' do
     assert Event.new.notifiable?
   end
+
+  should 'not be translatable if there is no language available on environment' do
+    environment = fast_create(Environment)
+    environment.languages = nil
+    profile = fast_create(Person, :environment_id => environment.id)
+ 
+    event = Event.new(:profile => profile)
+
+    assert !event.translatable?
+  end
+
+  should 'be translatable if there is languages on environment' do
+    environment = fast_create(Environment)
+    environment.languages = nil
+    profile = fast_create(Person, :environment_id => environment.id)
+    event = fast_create(Event, :profile_id => profile.id)
+
+    assert !event.translatable?
+ 
+
+    environment.languages = ['en','pt','fr']
+    environment.save
+    event.reload 
+    assert event.translatable?
+  end
+
 end

=====================================
test/unit/text_article_test.rb
=====================================
--- a/test/unit/text_article_test.rb
+++ b/test/unit/text_article_test.rb
@@ -85,4 +85,29 @@ class TextArticleTest < ActiveSupport::TestCase
     assert_equal "<img src=\"/test.png\" />", article.body
   end
 
+  should 'not be translatable if there is no language available on environment' do
+    environment = fast_create(Environment)
+    environment.languages = nil
+    profile = fast_create(Person, :environment_id => environment.id)
+ 
+    text = TextArticle.new(:profile => profile)
+
+    assert !text.translatable?
+  end
+
+  should 'be translatable if there is languages on environment' do
+    environment = fast_create(Environment)
+    environment.languages = nil
+    profile = fast_create(Person, :environment_id => environment.id)
+    text = fast_create(TextArticle, :profile_id => profile.id)
+
+    assert !text.translatable?
+ 
+
+    environment.languages = ['en','pt','fr']
+    environment.save
+    text.reload 
+    assert text.translatable?
+  end
+
 end

=====================================
test/unit/translatable_content_test.rb
=====================================
--- a/test/unit/translatable_content_test.rb
+++ b/test/unit/translatable_content_test.rb
@@ -3,7 +3,7 @@ require_relative "../test_helper"
 class TranslatableContentTest < ActiveSupport::TestCase
 
   class Content
-    attr_accessor :parent
+    attr_accessor :parent, :profile
     include Noosfero::TranslatableContent
   end
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20150210/42b0526c/attachment.html>


More information about the Noosfero-dev mailing list