Commit 56346bc95beae1dd28123118a3f2315482e57c29

Authored by Braulio Bhavamitra
1 parent 59897e5e

Set fields default to private

Showing 2 changed files with 17 additions and 18 deletions   Show diff stats
app/models/person.rb
... ... @@ -471,8 +471,9 @@ class Person < Profile
471 471 Scrap.find_by_sql("SELECT id, updated_at, '#{Scrap.to_s}' AS klass FROM #{Scrap.table_name} WHERE scraps.receiver_id = #{self.id} AND scraps.scrap_id IS NULL UNION SELECT id, updated_at, '#{ActionTracker::Record.to_s}' AS klass FROM #{ActionTracker::Record.table_name} WHERE action_tracker.user_id = #{self.id} and action_tracker.verb != 'leave_scrap_to_self' and action_tracker.verb != 'add_member_in_community' ORDER BY updated_at DESC")
472 472 end
473 473  
  474 + # by default, all fields are private
474 475 def public_fields
475   - self.fields_privacy.nil? ? self.active_fields : self.fields_privacy.reject{ |k, v| v != 'public' }.keys.map(&:to_s)
  476 + self.fields_privacy.nil? ? [] : self.fields_privacy.reject{ |k, v| v != 'public' }.keys.map(&:to_s)
476 477 end
477 478  
478 479 protected
... ...
test/unit/person_test.rb
... ... @@ -55,7 +55,7 @@ class PersonTest < ActiveSupport::TestCase
55 55  
56 56 p1 = u.person
57 57 assert_equal u, p1.user
58   -
  58 +
59 59 p2 = Person.new(:environment => Environment.default)
60 60 p2.user = u
61 61 assert !p2.valid?
... ... @@ -202,7 +202,7 @@ class PersonTest < ActiveSupport::TestCase
202 202 should 'have friends' do
203 203 p1 = create_user('testuser1').person
204 204 p2 = create_user('testuser2').person
205   -
  205 +
206 206 p1.add_friend(p2)
207 207  
208 208 p1.friends.reload
... ... @@ -237,7 +237,7 @@ class PersonTest < ActiveSupport::TestCase
237 237 p2 = create_user('testuser2').person
238 238 p3 = create_user('testuser3').person
239 239 p4 = create_user('testuser4').person
240   -
  240 +
241 241 p1.add_friend(p2, 'group1')
242 242 p1.add_friend(p3, 'group2')
243 243 p1.add_friend(p4, 'group1')
... ... @@ -248,7 +248,7 @@ class PersonTest < ActiveSupport::TestCase
248 248 should 'not suggest duplicated friend groups' do
249 249 p1 = create_user('testuser1').person
250 250 p2 = create_user('testuser2').person
251   -
  251 +
252 252 p1.add_friend(p2, 'friends')
253 253  
254 254 assert_equal p1.suggested_friend_groups, p1.suggested_friend_groups.uniq
... ... @@ -307,7 +307,7 @@ class PersonTest < ActiveSupport::TestCase
307 307 assert_equal 'my contact', person.contact_information
308 308 end
309 309  
310   - should 'provide desired info fields' do
  310 + should 'provide desired info fields' do
311 311 p = Person.new(:environment => Environment.default)
312 312 assert p.respond_to?(:photo)
313 313 assert p.respond_to?(:address)
... ... @@ -472,7 +472,7 @@ class PersonTest < ActiveSupport::TestCase
472 472 should 'require custom_area_of_study if area_of_study is others' do
473 473 e = Environment.default
474 474 e.expects(:required_person_fields).returns(['area_of_study', 'custom_area_of_study']).at_least_once
475   -
  475 +
476 476 person = Person.new(:environment => e, :area_of_study => 'Others')
477 477 assert !person.valid?
478 478 assert person.errors.invalid?(:custom_area_of_study)
... ... @@ -507,7 +507,7 @@ class PersonTest < ActiveSupport::TestCase
507 507 should 'not require custom_formation if formation is not others' do
508 508 e = Environment.default
509 509 e.expects(:required_person_fields).returns(['formation']).at_least_once
510   -
  510 +
511 511 person = Person.new(:environment => e, :formation => 'Agrometeorology')
512 512 assert !person.valid?
513 513 assert ! person.errors.invalid?(:custom_formation)
... ... @@ -829,13 +829,13 @@ class PersonTest < ActiveSupport::TestCase
829 829 assert !p1.is_a_friend?(p3)
830 830 p1.add_friend(p4)
831 831 assert p1.is_a_friend?(p4)
832   -
  832 +
833 833 action_tracker = fast_create(ActionTracker::Record)
834 834 ActionTrackerNotification.delete_all
835 835 count = ActionTrackerNotification.count
836 836 Delayed::Job.destroy_all
837 837 Person.notify_activity(action_tracker)
838   - process_delayed_job_queue
  838 + process_delayed_job_queue
839 839 assert_equal count + 3, ActionTrackerNotification.count
840 840 ActionTrackerNotification.all.map{|a|a.profile}.map do |profile|
841 841 [p1,p2,p4].include?(profile)
... ... @@ -853,7 +853,7 @@ class PersonTest < ActiveSupport::TestCase
853 853 assert !p1.is_a_friend?(p3)
854 854 p1.add_friend(p4)
855 855 assert p1.is_a_friend?(p4)
856   -
  856 +
857 857 action_tracker = fast_create(ActionTracker::Record)
858 858  
859 859 assert_difference(Delayed::Job, :count, 1) do
... ... @@ -872,7 +872,7 @@ class PersonTest < ActiveSupport::TestCase
872 872 assert !p1.is_a_friend?(p3)
873 873 p1.add_friend(p4)
874 874 assert p1.is_a_friend?(p4)
875   -
  875 +
876 876 action_tracker = fast_create(ActionTracker::Record)
877 877  
878 878 Delayed::Job.delete_all
... ... @@ -896,7 +896,7 @@ class PersonTest < ActiveSupport::TestCase
896 896 assert p3.is_member_of?(community)
897 897 assert !p2.is_member_of?(community)
898 898 process_delayed_job_queue
899   -
  899 +
900 900 action_tracker = fast_create(ActionTracker::Record, :verb => 'create_article')
901 901 action_tracker.target = community
902 902 action_tracker.save!
... ... @@ -924,7 +924,7 @@ class PersonTest < ActiveSupport::TestCase
924 924 community.add_member(p4)
925 925 assert p4.is_member_of?(community)
926 926 assert !p2.is_member_of?(community)
927   -
  927 +
928 928 action_tracker = fast_create(ActionTracker::Record)
929 929 article = mock()
930 930 action_tracker.stubs(:target).returns(article)
... ... @@ -1271,12 +1271,10 @@ class PersonTest < ActiveSupport::TestCase
1271 1271 assert person.has_permission?('bli', Profile.new)
1272 1272 end
1273 1273  
1274   - should 'active fields are public if fields privacy is nil' do
  1274 + should 'active fields are private if fields privacy is nil' do
1275 1275 p = fast_create(Person)
1276 1276 p.expects(:fields_privacy).returns(nil)
1277   - f = %w(sex birth_date)
1278   - p.expects(:active_fields).returns(f)
1279   - assert_equal f, p.public_fields
  1277 + assert_equal [], p.public_fields
1280 1278 end
1281 1279  
1282 1280 should 'return public fields' do
... ...