Commit 02d5269c396935cf2ed39aeb9efe34ae2a1aa23e

Authored by Rodrigo Souto
2 parents 95efd89f e833fc77

Merge branch 'master' into api

.travis.yml
... ... @@ -19,13 +19,6 @@ addons:
19 19 - libsqlite3-dev
20 20 - libxslt1-dev
21 21  
22   -before_install:
23   -# FIXME: workaround while https://github.com/travis-ci/travis-ci/issues/4210 is open
24   - - rm config/initializers/default_icon_theme.rb
25   -# selenium support
26   - - export DISPLAY=:99.0
27   - - sh -e /etc/init.d/xvfb start
28   -
29 22 before_script:
30 23 - mkdir -p tmp/pids log
31 24 - bundle check || bundle install
... ...
app/models/article.rb
... ... @@ -506,9 +506,9 @@ class Article < ActiveRecord::Base
506 506 where(
507 507 [
508 508 "published = ? OR last_changed_by_id = ? OR profile_id = ? OR ?
509   - OR (show_to_followers = ? AND ? AND profile_id = ?)", true, user.id, user.id,
  509 + OR (show_to_followers = ? AND ? AND profile_id IN (?))", true, user.id, user.id,
510 510 profile.nil? ? false : user.has_permission?(:view_private_content, profile),
511   - true, user.follows?(profile), (profile.nil? ? nil : profile.id)
  511 + true, (profile.nil? ? true : user.follows?(profile)), ( profile.nil? ? (user.friends.select('profiles.id')) : [profile.id])
512 512 ]
513 513 )
514 514 }
... ...
app/models/highlights_block.rb
... ... @@ -12,6 +12,7 @@ class HighlightsBlock < Block
12 12 block.images.each do |i|
13 13 i[:image_id] = i[:image_id].to_i
14 14 i[:position] = i[:position].to_i
  15 + i[:address] = Noosfero.root + i[:address] unless Noosfero.root.nil?
15 16 begin
16 17 file = UploadedFile.find(i[:image_id])
17 18 i[:image_src] = file.public_filename
... ...
plugins/event/lib/event_plugin/event_block.rb
... ... @@ -26,8 +26,8 @@ class EventPlugin::EventBlock < Block
26 26 end
27 27  
28 28 def events(user = nil)
29   - events = events_source.events
30   - events = events.published.order('start_date')
  29 + events = events_source.events.order('start_date')
  30 + events = user.nil? ? events.public : events.display_filter(user,nil)
31 31  
32 32 if future_only
33 33 events = events.where('start_date >= ?', Date.today)
... ...
plugins/event/test/test_helper.rb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +require_relative '../../../test/test_helper'
... ...
plugins/event/test/unit/event_block_test.rb
1   -require File.dirname(__FILE__) + '/../../../../test/test_helper'
  1 +require_relative '../test_helper'
2 2  
3   -class EventPlugin::EventBlockTest < ActiveSupport::TestCase
  3 +class EventBlockTest < ActiveSupport::TestCase
4 4  
5 5 def setup
6 6 @env = Environment.default
... ... @@ -165,7 +165,7 @@ class EventPlugin::EventBlockTest &lt; ActiveSupport::TestCase
165 165  
166 166 def visibility_content_test_from_a_profile(profile)
167 167 @block.box.owner = @env
168   - ev = fast_create Event, :name => '2 de Julho', :profile_id => profile.id
  168 + ev = Event.create!(:name => '2 de Julho', :profile => profile)
169 169 @block.all_env_events = true
170 170  
171 171 # Do not list event from private profile for non logged visitor
... ...
plugins/event/test/unit/event_plugin_test.rb
1   -require File.dirname(__FILE__) + '/../../../../test/test_helper'
  1 +require_relative '../test_helper'
2 2  
3 3 class EventPluginTest < ActiveSupport::TestCase
4 4  
... ...
plugins/sub_organizations/db/migrate/20150508153119_add_timestamp_to_relation.rb
... ... @@ -2,5 +2,7 @@ class AddTimestampToRelation &lt; ActiveRecord::Migration
2 2 def change
3 3 add_column :sub_organizations_plugin_relations, :created_at, :datetime
4 4 add_column :sub_organizations_plugin_relations, :updated_at, :datetime
  5 + add_column :sub_organizations_plugin_approve_paternity_relations, :created_at, :datetime
  6 + add_column :sub_organizations_plugin_approve_paternity_relations, :updated_at, :datetime
5 7 end
6 8 end
... ...
public/javascripts/manage-categories.js
... ... @@ -2,7 +2,7 @@
2 2 fetch_sub_items = function(sub_items, category){
3 3 loading_for_button($("#category-loading-"+category)[0]);
4 4 $.ajax({
5   - url: "/admin/categories/get_children",
  5 + url: noosfero_root() + "/admin/categories/get_children",
6 6 dataType: "html",
7 7 data: {id: category},
8 8 success: function(data, st, ajax){
... ...
script/quick-start
... ... @@ -61,6 +61,8 @@ setup_rubygems_path() {
61 61 fi
62 62 }
63 63  
  64 +# change current directory to the noosfero's root
  65 +cd "$(dirname $0)/../"
64 66  
65 67 force_install=false
66 68 if test "$1" = '--force-install'; then
... ...
test/unit/article_test.rb
... ... @@ -1971,6 +1971,19 @@ class ArticleTest &lt; ActiveSupport::TestCase
1971 1971 assert_equal [a], Article.display_filter(user, p)
1972 1972 end
1973 1973  
  1974 + should 'display_filter show person private content to friends when no profile is passed as parameter' do
  1975 + user = create_user('someuser').person
  1976 + p = fast_create(Person)
  1977 + user.add_friend(p)
  1978 + user.stubs(:has_permission?).with(:view_private_content, p).returns(false)
  1979 + Article.delete_all
  1980 + a = fast_create(Article, :published => false, :show_to_followers => true, :profile_id => p.id)
  1981 + fast_create(Article, :published => false, :show_to_followers => false, :profile_id => p.id)
  1982 + fast_create(Article, :published => false, :show_to_followers => false, :profile_id => p.id)
  1983 + assert_equal [a], Article.display_filter(user, nil)
  1984 + end
  1985 +
  1986 +
1974 1987 should 'display_filter show community private content to members' do
1975 1988 user = create_user('someuser').person
1976 1989 p = fast_create(Community)
... ...
test/unit/highlights_block_test.rb
... ... @@ -119,6 +119,19 @@ class HighlightsBlockTest &lt; ActiveSupport::TestCase
119 119 block.featured_images
120 120 end
121 121  
  122 + should 'return correct sub-dir address' do
  123 + Noosfero.stubs(:root).returns("/social")
  124 + f1 = mock()
  125 + f1.expects(:public_filename).returns('address')
  126 + UploadedFile.expects(:find).with(1).returns(f1)
  127 + block = HighlightsBlock.new
  128 + i1 = {:image_id => 1, :address => '/address', :position => 3, :title => 'address'}
  129 + block.images = [i1]
  130 + block.save!
  131 + block.reload
  132 + assert_equal block.images.first[:address], "/social/address"
  133 + end
  134 +
122 135 [Environment, Profile].each do |klass|
123 136 should "choose between owner galleries when owner is #{klass.name}" do
124 137 owner = fast_create(klass)
... ...