Commit b3bb617789de1c6a58f30594841ac152f1e1df13

Authored by AurelioAHeckert
1 parent 0b8734e8

ActionItem183: better tags and profile info

git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1503 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/helpers/application_helper.rb
@@ -332,7 +332,7 @@ module ApplicationHelper @@ -332,7 +332,7 @@ module ApplicationHelper
332 if File.exists?(File.join(RAILS_ROOT, 'public', filename)) 332 if File.exists?(File.join(RAILS_ROOT, 'public', filename))
333 "@import url(#{filename});\n" 333 "@import url(#{filename});\n"
334 else 334 else
335 - '' 335 + "/* Not included: url(#{filename}) */\n"
336 end 336 end
337 end.join(), 337 end.join(),
338 { "type" => "text/css" }.merge(options) 338 { "type" => "text/css" }.merge(options)
@@ -342,7 +342,7 @@ module ApplicationHelper @@ -342,7 +342,7 @@ module ApplicationHelper
342 def filename_for_stylesheet(name, in_theme) 342 def filename_for_stylesheet(name, in_theme)
343 result = '' 343 result = ''
344 if in_theme 344 if in_theme
345 - result << '/designs/templates/' + current_theme 345 + result << '/designs/themes/' + current_theme
346 end 346 end
347 result << '/stylesheets/' << name << '.css' 347 result << '/stylesheets/' << name << '.css'
348 end 348 end
app/helpers/tags_helper.rb
@@ -40,12 +40,17 @@ module TagsHelper @@ -40,12 +40,17 @@ module TagsHelper
40 40
41 delta = max_size - min_size 41 delta = max_size - min_size
42 max = tags.values.max.to_f 42 max = tags.values.max.to_f
  43 + min = tags.values.min.to_f
43 44
44 tags.map do |tag,count| 45 tags.map do |tag,count|
45 - v = count.to_f / max 46 + if ( max == min )
  47 + v = 0.5
  48 + else
  49 + v = (count.to_f - min) / (max - min)
  50 + end
46 style = ""+ 51 style = ""+
47 "font-size: #{ (v * delta).round + min_size }px;"+ 52 "font-size: #{ (v * delta).round + min_size }px;"+
48 - "top: #{ -4 - (v * 4).round }px;" 53 + "top: #{ -(delta/2) - (v * (delta/2)).round }px;"
49 destination = url.kind_of?(Hash) ? url_for(url.merge(tagname_option => tag)) : (url.to_s + tag) 54 destination = url.kind_of?(Hash) ? url_for(url.merge(tagname_option => tag)) : (url.to_s + tag)
50 55
51 display_count = options[:show_count] ? "<small><sup>(#{count})</sup></small>" : "" 56 display_count = options[:show_count] ? "<small><sup>(#{count})</sup></small>" : ""
app/models/profile_info_block.rb
@@ -4,6 +4,10 @@ class ProfileInfoBlock &lt; Block @@ -4,6 +4,10 @@ class ProfileInfoBlock &lt; Block
4 _('Profile information block') 4 _('Profile information block')
5 end 5 end
6 6
  7 + def help
  8 + _('Basic information about <i>%{user}</i>. Here you see how much time <i>%{user}</i> is part of the <i>%{env}</i> enviroment, and useful links.') % { :user => self.owner.name(), :env => self.owner.environment.name() }
  9 + end
  10 +
7 def content 11 def content
8 block = self 12 block = self
9 lambda do 13 lambda do
app/models/profile_list_block.rb
@@ -66,7 +66,7 @@ class ProfileListBlock &lt; Block @@ -66,7 +66,7 @@ class ProfileListBlock &lt; Block
66 lambda do 66 lambda do
67 list = profiles.map {|item| content_tag( 'li', profile_image_link(item) ) }.join("\n ") 67 list = profiles.map {|item| content_tag( 'li', profile_image_link(item) ) }.join("\n ")
68 if list.empty? 68 if list.empty?
69 - list = '<i>'+ _('None') +'</i>' 69 + list = '<div class="common-profile-list-block-none">'+ _('None') +'</div>'
70 else 70 else
71 list = content_tag( 'ul', nl +' '+ list + nl ) 71 list = content_tag( 'ul', nl +' '+ list + nl )
72 end 72 end
app/models/tags_block.rb
@@ -18,7 +18,7 @@ class TagsBlock &lt; Block @@ -18,7 +18,7 @@ class TagsBlock &lt; Block
18 "\n<div class='tag_cloud'>\n"+ 18 "\n<div class='tag_cloud'>\n"+
19 tag_cloud( owner.tags, :id, 19 tag_cloud( owner.tags, :id,
20 owner.generate_url(:controller => 'profile', :action => 'tag'), 20 owner.generate_url(:controller => 'profile', :action => 'tag'),
21 - :max_size => 18, :min_size => 9 ) + 21 + :max_size => 16, :min_size => 9 ) +
22 "\n</div><!-- end class='tag_cloud' -->\n"; 22 "\n</div><!-- end class='tag_cloud' -->\n";
23 end 23 end
24 24
app/views/blocks/profile_info.rhtml
1 <h2><%= block.owner.name %></h2> 1 <h2><%= block.owner.name %></h2>
2 2
3 -<%= profile_image(block.owner) %> 3 +<div class="profile-info-picture"><%= profile_image(block.owner) %></div>
4 4
5 -<ul>  
6 - <li><%= _('Since %d') % block.owner.created_at.year %></li> 5 +<ul class="profile-info-data">
  6 + <li><%= _('Since %{year}/%{month}') % { :year => block.owner.created_at.year, :month => block.owner.created_at.month } %></li>
7 <li><%= link_to _('Homepage'), block.owner.url %></li> 7 <li><%= link_to _('Homepage'), block.owner.url %></li>
8 <li><%= link_to _('View profile'), block.owner.public_profile_url %></li> 8 <li><%= link_to _('View profile'), block.owner.public_profile_url %></li>
9 </ul> 9 </ul>
10 10
11 -<div class='profile-info-options'> 11 +<div class="profile-info-options">
12 <%= render :file => 'blocks/profile_info_actions/' + block.owner.class.name.underscore %> 12 <%= render :file => 'blocks/profile_info_actions/' + block.owner.class.name.underscore %>
13 </div> 13 </div>
14 14
app/views/blocks/profile_info_actions/community.rhtml
1 <ul> 1 <ul>
2 <% if logged_in? %> 2 <% if logged_in? %>
3 - <li><%= link_to _('Join this community'), :profile => user.identifier, :controller => 'memberships', :action => 'join', :id => profile.id %></li> 3 + <li><%= link_to content_tag('span', _('Join this community')), { :profile => user.identifier, :controller => 'memberships', :action => 'join', :id => profile.id }, :class => 'button with-text icon-add' %></li>
4 <% end %> 4 <% end %>
5 </ul> 5 </ul>
app/views/blocks/profile_info_actions/person.rhtml
1 <ul> 1 <ul>
2 <%if logged_in? && (user != profile) && (! user.friends.include?(profile)) %> 2 <%if logged_in? && (user != profile) && (! user.friends.include?(profile)) %>
3 - <li><%= link_to _('Add friend'), :profile => user.identifier, :controller => 'friends', :action => 'add', :id => profile.id %></li> 3 + <li><%= link_to content_tag('span', _('Add friend')), { :profile => user.identifier, :controller => 'friends', :action => 'add', :id => profile.id }, :class => 'button with-text icon-add' %></li>
4 <% end %> 4 <% end %>
5 </ul> 5 </ul>
public/designs/themes/default/images/bg-tags-2.png 0 → 100644

1.16 KB

public/designs/themes/default/images/bg-tags-top-2.png 0 → 100644

919 Bytes

public/designs/themes/default/images/bg-tags-top.png 0 → 100644

905 Bytes

public/designs/themes/default/images/bg-tags.png 0 → 100644

1.18 KB

public/designs/themes/default/stylesheets/blocks/profile-info-block.css 0 → 100644
@@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
  1 +.profile-info-block h2 {
  2 + text-align: center;
  3 +}
  4 +
  5 +.profile-info-picture {
  6 + border: 2px solid #204A87;
  7 + padding: 1px;
  8 + background: #FFF;
  9 + margin-right: 40px;
  10 +}
  11 +.msie6 .profile-info-picture {
  12 + margin-right: 20px;
  13 +}
  14 +
  15 +.profile-info-data {
  16 + width: 140px;
  17 + font-size: 10px;
  18 + text-align: right;
  19 + position: relative;
  20 + top: 6px;
  21 +}
  22 +
  23 +.profile-info-options {
  24 + clear: both;
  25 +}
  26 +
  27 +.profile-info-options {
  28 + text-align: center;
  29 +}
  30 +
public/designs/themes/default/stylesheets/blocks/tags-block.css 0 → 100644
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +.tags-block {
  2 +}
  3 +.box-2 .tags-block {
  4 + text-align: right;
  5 +}
  6 +
  7 +#content .tags-block .block-title {
  8 + margin-bottom: 0px;
  9 + background: url(../../images/bg-tags-top.png) 0% 0%;
  10 + padding: 3px 0px 0px 20px;
  11 +}
  12 +
  13 +.tags-block .tag_cloud {
  14 + background: url(../../images/bg-tags.png) 0% 100%;
  15 + padding: 0px 0px 5px 5px;
  16 +}
  17 +
  18 +#content .box-2 .tags-block .block-title {
  19 + background: url(../../images/bg-tags-top-2.png) no-repeat 100% 0%;
  20 + padding: 3px 20px 0px 0px;
  21 +}
  22 +.box-2 .tags-block .tag_cloud {
  23 + background: url(../../images/bg-tags-2.png) no-repeat 100% 100%;
  24 + padding: 0px 5px 5px 0px;
  25 +}
  26 +
  27 +.tags-block .tag_cloud a {
  28 + text-decoration: none;
  29 + padding: 0px 4px;
  30 +}
  31 +
  32 +.tags-block .tag_cloud a:hover {
  33 + color: red;
  34 +}
public/stylesheets/blocks/profile-info-block.css
1 -div.profile-info-block img { 1 +
  2 +.profile-info-picture {
2 float: right; 3 float: right;
3 - margin-left: 1em;  
4 } 4 }
5 5
6 -div.profile-info-block { 6 +.profile-info-block {
7 padding-left: 1em; 7 padding-left: 1em;
8 padding-right: 1em; 8 padding-right: 1em;
9 } 9 }
10 10
11 -div.profile-info-block ul { 11 +.profile-info-block ul {
12 padding: 0px; 12 padding: 0px;
  13 + margin: 0px;
13 } 14 }
14 15
15 -div.profile-info-block li { 16 +.profile-info-block li {
16 list-style: none; 17 list-style: none;
17 - border-bottom: 1px solid #d0d0d0;  
18 - background: #f0f0f0; 18 + margin: 0px;
19 padding: 2px; 19 padding: 2px;
20 } 20 }
public/stylesheets/blocks/profile-list-block.css
@@ -59,6 +59,20 @@ @@ -59,6 +59,20 @@
59 .communities-block .block-footer-content { 59 .communities-block .block-footer-content {
60 text-align: center; 60 text-align: center;
61 font-size: 80%; 61 font-size: 80%;
62 - padding: 10px 0px 0px 0px; 62 + padding: 5px 0px 0px 0px;
  63 +}
  64 +.msie .enterprises-block .block-footer-content,
  65 +.msie .communities-block .block-footer-content {
  66 + padding: 0px;
  67 + margin-top: -5px;
  68 +}
  69 +
  70 +.common-profile-list-block-none {
  71 + font-style: italic;
  72 + margin-bottom: -10px;
  73 +}
  74 +.msie .common-profile-list-block-none {
  75 + margin-bottom: 0px;
  76 + padding-bottom: 10px;
63 } 77 }
64 78
public/stylesheets/blocks/tags-block.css
1 .tags-block { 1 .tags-block {
2 } 2 }
3 3
4 -.tags-block .help_tags {  
5 - position: absolute;  
6 - top: 10px;  
7 - right: 2px;  
8 -}  
9 -  
10 -.tag_cloud a { 4 +.tags-block .tag_cloud a {
11 text-decoration: none; 5 text-decoration: none;
12 padding: 0px 4px; 6 padding: 0px 4px;
13 } 7 }
14 8
15 -.tag_cloud a:hover { 9 +.tags-block .tag_cloud a:hover {
16 color: red; 10 color: red;
17 - background: #f0f0f0;  
18 } 11 }
public/stylesheets/common.css
@@ -332,8 +332,7 @@ body.category4 #content h1, body.category4 #content h2, body.category4 #content @@ -332,8 +332,7 @@ body.category4 #content h1, body.category4 #content h2, body.category4 #content
332 body.category4 #content h4, body.category4 #content h5, body.category4 #content h6 332 body.category4 #content h4, body.category4 #content h5, body.category4 #content h6
333 { color: #B80000 } 333 { color: #B80000 }
334 334
335 -.block-title {  
336 - color: red; 335 +#content .block-title {
337 margin: 0px 0px 10px 0px; 336 margin: 0px 0px 10px 0px;
338 } 337 }
339 338