Commit 0c29ae21aefd8a506678dbc290d0a72743927989
Committed by
Daniela Feitosa
1 parent
27eb1487
Exists in
master
and in
28 other branches
Hide contact if no information available
Showing
3 changed files
with
90 additions
and
22 deletions
Show diff stats
app/helpers/profile_helper.rb
| ... | ... | @@ -16,4 +16,16 @@ module ProfileHelper |
| 16 | 16 | end |
| 17 | 17 | end |
| 18 | 18 | |
| 19 | + def display_contact(profile) | |
| 20 | + address = display_field(_('Address:'), profile, :address) | |
| 21 | + zip = display_field(_('ZIP code:'), profile, :zip_code) | |
| 22 | + phone = display_field(_('Contact phone:'), profile, :contact_phone) | |
| 23 | + email = display_field(_('e-Mail:'), profile, :email) { |email| link_to_email(email) } | |
| 24 | + if address.blank? && zip.blank? && phone.blank? && email.blank? | |
| 25 | + '' | |
| 26 | + else | |
| 27 | + content_tag('tr', content_tag('th', _('Contact'), { :colspan => 2 })) + address + zip + phone + email | |
| 28 | + end | |
| 29 | + end | |
| 30 | + | |
| 19 | 31 | end | ... | ... |
app/views/profile/_person_profile.rhtml
| ... | ... | @@ -13,13 +13,7 @@ |
| 13 | 13 | <td><%= show_date(profile.created_at) %></td> |
| 14 | 14 | </tr> |
| 15 | 15 | |
| 16 | - <tr> | |
| 17 | - <th colspan='2'><%= _('Contact')%></th> | |
| 18 | - </tr> | |
| 19 | - <%= display_field(_('Address:'), profile, :address) %> | |
| 20 | - <%= display_field(_('ZIP code:'), profile, :zip_code) %> | |
| 21 | - <%= display_field(_('Contact phone:'), profile, :contact_phone) %> | |
| 22 | - <%= display_field(_('e-Mail:'), profile, :email) { |email| link_to_email(email) } %> | |
| 16 | + <%= display_contact profile %> | |
| 23 | 17 | |
| 24 | 18 | <% cache_timeout(profile.relationships_cache_key, 4.hours) do %> |
| 25 | 19 | <% if !(profile.organization.blank? && profile.organization_website.blank?) && (profile.active_fields.include?('organization') || profile.active_fields.include?('organization_website')) %> | ... | ... |
test/functional/profile_controller_test.rb
| ... | ... | @@ -279,16 +279,6 @@ class ProfileControllerTest < ActionController::TestCase |
| 279 | 279 | assert_tag :tag => 'div', :attributes => { :class => /main-block/ }, :descendant => { :tag => 'a', :attributes => { :href => '/profile/testuser/tags/two'} } |
| 280 | 280 | end |
| 281 | 281 | |
| 282 | - should 'show e-mail for friends on profile page' do | |
| 283 | - p1 = create_user('tusr1').person | |
| 284 | - p2 = create_user('tusr2', :email => 't2@t2.com').person | |
| 285 | - p2.add_friend p1 | |
| 286 | - login_as 'tusr1' | |
| 287 | - | |
| 288 | - get :index, :profile => 'tusr2' | |
| 289 | - assert_tag :content => /t2.*t2.com/ | |
| 290 | - end | |
| 291 | - | |
| 292 | 282 | should 'not show e-mail for non friends on profile page' do |
| 293 | 283 | p1 = create_user('tusr1').person |
| 294 | 284 | p2 = create_user('tusr2', :email => 't2@t2.com').person |
| ... | ... | @@ -1375,7 +1365,7 @@ class ProfileControllerTest < ActionController::TestCase |
| 1375 | 1365 | viewed = create_user('person_1').person |
| 1376 | 1366 | Environment.any_instance.stubs(:active_person_fields).returns(['sex', 'birth_date']) |
| 1377 | 1367 | Environment.any_instance.stubs(:required_person_fields).returns([]) |
| 1378 | - viewed.birth_date = Time.now.ago(22.years) | |
| 1368 | + viewed.birth_date = Time.parse('2012-08-26').ago(22.years) | |
| 1379 | 1369 | viewed.data = { :sex => 'male', :fields_privacy => { 'sex' => 'public', 'birth_date' => 'public' } } |
| 1380 | 1370 | viewed.save! |
| 1381 | 1371 | get :index, :profile => viewed.identifier |
| ... | ... | @@ -1389,7 +1379,7 @@ class ProfileControllerTest < ActionController::TestCase |
| 1389 | 1379 | viewed = create_user('person_1').person |
| 1390 | 1380 | Environment.any_instance.stubs(:active_person_fields).returns(['sex', 'birth_date']) |
| 1391 | 1381 | Environment.any_instance.stubs(:required_person_fields).returns([]) |
| 1392 | - viewed.birth_date = Time.now.ago(22.years) | |
| 1382 | + viewed.birth_date = Time.parse('2012-08-26').ago(22.years) | |
| 1393 | 1383 | viewed.data = { :sex => 'male', :fields_privacy => { 'sex' => 'public' } } |
| 1394 | 1384 | viewed.save! |
| 1395 | 1385 | get :index, :profile => viewed.identifier |
| ... | ... | @@ -1403,7 +1393,7 @@ class ProfileControllerTest < ActionController::TestCase |
| 1403 | 1393 | viewed = create_user('person_1').person |
| 1404 | 1394 | Environment.any_instance.stubs(:active_person_fields).returns(['sex', 'birth_date']) |
| 1405 | 1395 | Environment.any_instance.stubs(:required_person_fields).returns([]) |
| 1406 | - viewed.birth_date = Time.now.ago(22.years) | |
| 1396 | + viewed.birth_date = Time.parse('2012-08-26').ago(22.years) | |
| 1407 | 1397 | viewed.data = { :sex => 'male', :fields_privacy => { 'sex' => 'public' } } |
| 1408 | 1398 | viewed.save! |
| 1409 | 1399 | strange = create_user('person_2').person |
| ... | ... | @@ -1420,7 +1410,7 @@ class ProfileControllerTest < ActionController::TestCase |
| 1420 | 1410 | friend = create_user('person_2').person |
| 1421 | 1411 | Environment.any_instance.stubs(:active_person_fields).returns(['sex', 'birth_date']) |
| 1422 | 1412 | Environment.any_instance.stubs(:required_person_fields).returns([]) |
| 1423 | - viewed.birth_date = Time.now.ago(22.years) | |
| 1413 | + viewed.birth_date = Time.parse('2012-08-26').ago(22.years) | |
| 1424 | 1414 | viewed.data = { :sex => 'male', :fields_privacy => { 'sex' => 'public' } } |
| 1425 | 1415 | viewed.save! |
| 1426 | 1416 | Person.any_instance.stubs(:is_a_friend?).returns(true) |
| ... | ... | @@ -1436,7 +1426,7 @@ class ProfileControllerTest < ActionController::TestCase |
| 1436 | 1426 | viewed = create_user('person_1').person |
| 1437 | 1427 | Environment.any_instance.stubs(:active_person_fields).returns(['sex', 'birth_date']) |
| 1438 | 1428 | Environment.any_instance.stubs(:required_person_fields).returns([]) |
| 1439 | - viewed.birth_date = Time.now.ago(22.years) | |
| 1429 | + viewed.birth_date = Time.parse('2012-08-26').ago(22.years) | |
| 1440 | 1430 | viewed.data = { :sex => 'male', :fields_privacy => { 'sex' => 'public' } } |
| 1441 | 1431 | viewed.save! |
| 1442 | 1432 | login_as(viewed.identifier) |
| ... | ... | @@ -1447,4 +1437,76 @@ class ProfileControllerTest < ActionController::TestCase |
| 1447 | 1437 | assert_tag :tag => 'td', :content => 'August 26, 1990' |
| 1448 | 1438 | end |
| 1449 | 1439 | |
| 1440 | + should 'show contact to non friend' do | |
| 1441 | + viewed = create_user('person_1').person | |
| 1442 | + Environment.any_instance.stubs(:required_person_fields).returns([]) | |
| 1443 | + viewed.data = { :email => 'test@test.com', :fields_privacy => { 'email' => 'public' } } | |
| 1444 | + viewed.save! | |
| 1445 | + strange = create_user('person_2').person | |
| 1446 | + login_as(strange.identifier) | |
| 1447 | + get :index, :profile => viewed.identifier | |
| 1448 | + assert_tag :tag => 'th', :content => 'Contact' | |
| 1449 | + assert_tag :tag => 'td', :content => 'e-Mail:' | |
| 1450 | + end | |
| 1451 | + | |
| 1452 | + should 'show contact to friend' do | |
| 1453 | + viewed = create_user('person_1').person | |
| 1454 | + friend = create_user('person_2').person | |
| 1455 | + Environment.any_instance.stubs(:required_person_fields).returns([]) | |
| 1456 | + viewed.data = { :email => 'test@test.com', :fields_privacy => { 'email' => 'public' } } | |
| 1457 | + viewed.save! | |
| 1458 | + Person.any_instance.stubs(:is_a_friend?).returns(true) | |
| 1459 | + login_as(friend.identifier) | |
| 1460 | + get :index, :profile => viewed.identifier | |
| 1461 | + assert_tag :tag => 'th', :content => 'Contact' | |
| 1462 | + assert_tag :tag => 'td', :content => 'e-Mail:' | |
| 1463 | + end | |
| 1464 | + | |
| 1465 | + should 'show contact to self' do | |
| 1466 | + viewed = create_user('person_1').person | |
| 1467 | + Environment.any_instance.stubs(:required_person_fields).returns([]) | |
| 1468 | + viewed.data = { :email => 'test@test.com', :fields_privacy => { 'email' => 'public' } } | |
| 1469 | + viewed.save! | |
| 1470 | + login_as(viewed.identifier) | |
| 1471 | + get :index, :profile => viewed.identifier | |
| 1472 | + assert_tag :tag => 'th', :content => 'Contact' | |
| 1473 | + assert_tag :tag => 'td', :content => 'e-Mail:' | |
| 1474 | + end | |
| 1475 | + | |
| 1476 | + should 'not show contact to non friend' do | |
| 1477 | + viewed = create_user('person_1').person | |
| 1478 | + Environment.any_instance.stubs(:required_person_fields).returns([]) | |
| 1479 | + viewed.data = { :email => 'test@test.com', :fields_privacy => { } } | |
| 1480 | + viewed.save! | |
| 1481 | + strange = create_user('person_2').person | |
| 1482 | + login_as(strange.identifier) | |
| 1483 | + get :index, :profile => viewed.identifier | |
| 1484 | + assert_no_tag :tag => 'th', :content => 'Contact' | |
| 1485 | + assert_no_tag :tag => 'td', :content => 'e-Mail:' | |
| 1486 | + end | |
| 1487 | + | |
| 1488 | + should 'show contact to friend even if private' do | |
| 1489 | + viewed = create_user('person_1').person | |
| 1490 | + friend = create_user('person_2').person | |
| 1491 | + Environment.any_instance.stubs(:required_person_fields).returns([]) | |
| 1492 | + viewed.data = { :email => 'test@test.com', :fields_privacy => { } } | |
| 1493 | + viewed.save! | |
| 1494 | + Person.any_instance.stubs(:is_a_friend?).returns(true) | |
| 1495 | + login_as(friend.identifier) | |
| 1496 | + get :index, :profile => viewed.identifier | |
| 1497 | + assert_tag :tag => 'th', :content => 'Contact' | |
| 1498 | + assert_tag :tag => 'td', :content => 'e-Mail:' | |
| 1499 | + end | |
| 1500 | + | |
| 1501 | + should 'show contact to self even if private' do | |
| 1502 | + viewed = create_user('person_1').person | |
| 1503 | + Environment.any_instance.stubs(:required_person_fields).returns([]) | |
| 1504 | + viewed.data = { :email => 'test@test.com', :fields_privacy => { } } | |
| 1505 | + viewed.save! | |
| 1506 | + login_as(viewed.identifier) | |
| 1507 | + get :index, :profile => viewed.identifier | |
| 1508 | + assert_tag :tag => 'th', :content => 'Contact' | |
| 1509 | + assert_tag :tag => 'td', :content => 'e-Mail:' | |
| 1510 | + end | |
| 1511 | + | |
| 1450 | 1512 | end | ... | ... |