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,13 +449,24 @@ module ApplicationHelper | ||
449 | # displays a link to the profile homepage with its image (as generated by | 449 | # displays a link to the profile homepage with its image (as generated by |
450 | # #profile_image) and its name below it. | 450 | # #profile_image) and its name below it. |
451 | def profile_image_link( profile, size=:portrait, tag='li' ) | 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 | content_tag tag, | 465 | content_tag tag, |
456 | link_to( | 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 | profile.url, | 470 | profile.url, |
460 | :class => 'profile_link url', | 471 | :class => 'profile_link url', |
461 | :help => _('Click on this icon to go to the <b>%s</b>\'s home page') % profile.name ), | 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,6 +111,11 @@ class Person < Profile | ||
111 | end | 111 | end |
112 | end | 112 | end |
113 | 113 | ||
114 | + def first_name | ||
115 | + re = '[-+*_\s\'´"]' | ||
116 | + self.name.gsub(/^#{re}*/,'').split(/#{re}/)[0] | ||
117 | + end | ||
118 | + | ||
114 | has_and_belongs_to_many :favorite_enterprises, :class_name => 'Enterprise', :join_table => 'favorite_enteprises_people' | 119 | has_and_belongs_to_many :favorite_enterprises, :class_name => 'Enterprise', :join_table => 'favorite_enteprises_people' |
115 | 120 | ||
116 | def email_addresses | 121 | def email_addresses |
app/models/user.rb
@@ -156,8 +156,7 @@ class User < ActiveRecord::Base | @@ -156,8 +156,7 @@ class User < ActiveRecord::Base | ||
156 | end | 156 | end |
157 | 157 | ||
158 | def first_name | 158 | def first_name |
159 | - re = '[-+*_\s\'´"]' | ||
160 | - person.name.gsub(/^#{re}*/,'').split(/#{re}/)[0] | 159 | + person.first_name |
161 | end | 160 | end |
162 | 161 | ||
163 | protected | 162 | protected |
547 Bytes
563 Bytes
422 Bytes
No preview for this file type
public/stylesheets/blocks/profile-list-block.css
@@ -20,6 +20,7 @@ | @@ -20,6 +20,7 @@ | ||
20 | font-size: 11px; | 20 | font-size: 11px; |
21 | text-decoration: none; | 21 | text-decoration: none; |
22 | color: #000; | 22 | color: #000; |
23 | + position: relative; | ||
23 | } | 24 | } |
24 | .msie6 .common-profile-list-block .vcard a { | 25 | .msie6 .common-profile-list-block .vcard a { |
25 | border: 2px solid #FFF; | 26 | border: 2px solid #FFF; |
@@ -45,3 +46,46 @@ | @@ -45,3 +46,46 @@ | ||
45 | border: none; | 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 | + |