Commit 149aa5b777a670096e8d5a8c8f9dd53aff28e0a1
1 parent
3d54fa67
Exists in
master
and in
29 other branches
ActionItem489: gender icons and location information in profile listing
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2100 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
8 changed files
with
66 additions
and
7 deletions
Show diff stats
app/helpers/application_helper.rb
| ... | ... | @@ -449,13 +449,24 @@ module ApplicationHelper |
| 449 | 449 | # displays a link to the profile homepage with its image (as generated by |
| 450 | 450 | # #profile_image) and its name below it. |
| 451 | 451 | def profile_image_link( profile, size=:portrait, tag='li' ) |
| 452 | - #link_to( '<div>'+ profile_image(profile, size) +'</div><span>'+ profile.name() +'</span>', profile.url, | |
| 453 | - # :class => 'profile_link', | |
| 454 | - # :help => _('Click on this icon to go to the <b>%s</b>\'s home page') % profile.name ) | |
| 452 | + if profile.class == Person | |
| 453 | + sex = ( profile.sex ? profile.sex.to_s() : 'undef' ) | |
| 454 | + sex = content_tag( 'span', content_tag( 'span', sex ), :class => 'sex-' + sex ) | |
| 455 | + else | |
| 456 | + sex = '' | |
| 457 | + end | |
| 458 | + if profile.class == Person | |
| 459 | + name = profile.first_name | |
| 460 | + city = content_tag 'span', content_tag( 'span', profile.city, :class => 'locality' ), :class => 'adr' | |
| 461 | + else | |
| 462 | + name = profile.name | |
| 463 | + city = '' | |
| 464 | + end | |
| 455 | 465 | content_tag tag, |
| 456 | 466 | link_to( |
| 457 | - content_tag( 'span', profile_image(profile, size), :class => 'profile-image' ) + | |
| 458 | - content_tag( 'span', profile.name(), :class => ( profile.class == Person ? 'fn' : 'org' ) ), | |
| 467 | + content_tag( 'span', profile_image( profile, size ), :class => 'profile-image' ) + | |
| 468 | + content_tag( 'span', name, :class => ( profile.class == Person ? 'fn' : 'org' ) ) + | |
| 469 | + city + sex, | |
| 459 | 470 | profile.url, |
| 460 | 471 | :class => 'profile_link url', |
| 461 | 472 | :help => _('Click on this icon to go to the <b>%s</b>\'s home page') % profile.name ), | ... | ... |
app/models/person.rb
| ... | ... | @@ -111,6 +111,11 @@ class Person < Profile |
| 111 | 111 | end |
| 112 | 112 | end |
| 113 | 113 | |
| 114 | + def first_name | |
| 115 | + re = '[-+*_\s\'´"]' | |
| 116 | + self.name.gsub(/^#{re}*/,'').split(/#{re}/)[0] | |
| 117 | + end | |
| 118 | + | |
| 114 | 119 | has_and_belongs_to_many :favorite_enterprises, :class_name => 'Enterprise', :join_table => 'favorite_enteprises_people' |
| 115 | 120 | |
| 116 | 121 | def email_addresses | ... | ... |
app/models/user.rb
547 Bytes
563 Bytes
422 Bytes
No preview for this file type
public/stylesheets/blocks/profile-list-block.css
| ... | ... | @@ -20,6 +20,7 @@ |
| 20 | 20 | font-size: 11px; |
| 21 | 21 | text-decoration: none; |
| 22 | 22 | color: #000; |
| 23 | + position: relative; | |
| 23 | 24 | } |
| 24 | 25 | .msie6 .common-profile-list-block .vcard a { |
| 25 | 26 | border: 2px solid #FFF; |
| ... | ... | @@ -45,3 +46,46 @@ |
| 45 | 46 | border: none; |
| 46 | 47 | } |
| 47 | 48 | |
| 49 | +#content .common-profile-list-block .sex-male, | |
| 50 | +#content .common-profile-list-block .sex-female, | |
| 51 | +#content .common-profile-list-block .sex-undef { | |
| 52 | + position: absolute; | |
| 53 | + top: 2px; | |
| 54 | + right: 2px; | |
| 55 | + display: block; | |
| 56 | + width: 14px; | |
| 57 | + height: 18px; | |
| 58 | +} | |
| 59 | + | |
| 60 | +.common-profile-list-block .locality { | |
| 61 | + font-size: 9px; | |
| 62 | +} | |
| 63 | + | |
| 64 | +.common-profile-list-block .sex-male { | |
| 65 | + background: url(/images/icons-app/ico-male.png); | |
| 66 | +} | |
| 67 | +.common-profile-list-block .sex-female { | |
| 68 | + background: url(/images/icons-app/ico-female.png); | |
| 69 | +} | |
| 70 | +.common-profile-list-block .sex-undef { | |
| 71 | + background: url(/images/icons-app/ico-sex-undef.png); | |
| 72 | +} | |
| 73 | +.msie6 .common-profile-list-block .sex-male { | |
| 74 | + background: none; | |
| 75 | + filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/icons-app/ico-male.png',sizingMethod='scale'); | |
| 76 | +} | |
| 77 | +.msie6 .common-profile-list-block .sex-female { | |
| 78 | + background: none; | |
| 79 | + filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/icons-app/ico-female.png',sizingMethod='scale'); | |
| 80 | +} | |
| 81 | +.msie6 .common-profile-list-block .sex-undef { | |
| 82 | + background: none; | |
| 83 | + filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/icons-app/ico-sex-undef.png',sizingMethod='scale'); | |
| 84 | +} | |
| 85 | + | |
| 86 | +#content .common-profile-list-block .sex-male span, | |
| 87 | +#content .common-profile-list-block .sex-female span, | |
| 88 | +#content .common-profile-list-block .sex-undef span { | |
| 89 | + display: none; | |
| 90 | +} | |
| 91 | + | ... | ... |