Commit 2a1ea20528e44e636dfd1f7ddfdbcec3ee3d8da0

Authored by MoisesMachado
1 parent 05b73d10

ActionItem111: added more links to the user_options bar


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@727 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/controllers/public/home_controller.rb
... ... @@ -2,6 +2,6 @@ class HomeController < PublicController
2 2  
3 3 design :holder => 'environment'
4 4 def index
5   -# redirect_to homepage_path(:profile => 'anhetegua')
  5 + redirect_to homepage_path(:profile => 'noosfero') if Profile.find_by_identifier('noosfero')
6 6 end
7 7 end
... ...
app/helpers/application_helper.rb
... ... @@ -115,14 +115,20 @@ module ApplicationHelper
115 115 # FIXME: uncomment "My enterprises" links
116 116 def user_links
117 117 links = [
118   - ( link_to_homepage(current_user.login) ),
119   - ( link_to(_('My account'), { :controller => 'account' }) ),
  118 + ( link_to_homepage( _('My account') )),
120 119 ( link_to_myprofile _('My Enterprises'), {:controller => 'membership_editor'} ),
121 120 ( link_to(_('Admin'), { :controller => 'admin_panel' }) if current_user.person.is_admin?),
  121 + ( link_to_document (about_document), _('About') if about_document ),
122 122 ].join("\n")
123 123 content_tag('span', links, :id => 'user_links')
124 124 end
125 125  
  126 + def about_document
  127 + Article.find_all_by_title('About').select do |a|
  128 + a.full_path.split(/\//).shift == 'noosfero'
  129 + end[0]
  130 + end
  131 +
126 132 def header
127 133 login_or_register_or_logout
128 134 end
... ... @@ -190,30 +196,58 @@ module ApplicationHelper
190 196 ]
191 197 end
192 198  
  199 + def myprofile_links
  200 + links = [
  201 + [(link_to _('Change password'), {:controller => 'account', :action => 'change_password'}), 'edit_profile', profile]
  202 + ]
  203 + end
  204 +
  205 + def about_links
  206 + links = [
  207 + [(link_to _('Report bug'), 'http://www.colivre.coop.br/Noosfero/BugItem')],
  208 + ]
  209 + end
  210 +
  211 + def design_links
  212 + links = [
  213 + [(link_to _('Change template'), :controller => 'profile_editor', :action => 'design_editor_change_template')],
  214 + [(link_to _('Change block theme'), :controller => 'profile_editor', :action => 'design_editor_change_theme')],
  215 + [(link_to _('Change icon theme'), :controller => 'profile_editor', :action => 'design_editor_change_icon_theme')],
  216 + ]
  217 + end
193 218  
194   - #FIXME: find a way of accessing environment from here
195 219 def user_options
196   - profile = params[:profile]
  220 + profile = Profile.find_by_identifier(params[:profile])
197 221 case params[:controller]
198 222 when 'admin_panel'
199 223 admin_links
200 224 when 'membership_editor'
201 225 membership_links
202 226 when 'profile_editor'
203   - if profile.kind_of?(Enterprise)
  227 + if profile.kind_of?(Enterprise) && params[:action] == 'index'
204 228 enterprise_links
205   - elsif profile.kind_of?(Person)
206   - person_links
  229 + elsif profile.kind_of?(Person) && params[:action] == 'index'
  230 + myprofile_links
  231 + elsif params[:action] == 'design_editor'
  232 + design_links
207 233 else
208 234 []
209 235 end
210 236 when 'content_viewer'
211   - person_links
  237 + if params[:profile] == 'noosfero' && params[:page][0] == 'about'
  238 + about_links
  239 + else
  240 + person_links
  241 + end
212 242 else
213 243 []
214 244 end.map{|l| link_if_permitted(l[0], l[1], l[2]) }
215 245 end
216 246  
  247 + def accessibility_link
  248 + link_to _('Accessibility')
  249 + end
  250 +
217 251 def footer
218 252 # FIXME: add some information from the environment
219 253 [
... ...
app/views/layouts/application.rhtml
... ... @@ -63,7 +63,8 @@
63 63 <div id='noosfero_bar' class='category<%= category_color %>'>
64 64 <div id='top_bar' class='category<%= category_color %>'>
65 65 <div id='accessibility_menu'>
66   - <a href='#content' title='Ir para o conteúdo'>Ir para conteúdo</a>
  66 + <a href='#content' title='Ir para o conteúdo'>Ir para conteúdo</a>
  67 + <%= accessibility_link %>
67 68 <a href='#'>Acessibilidade</a>
68 69 </div><!-- accessibility_menu -->
69 70 <div id='path_category'>
... ...
script/populate
1 1 #!/usr/bin/env ruby
2 2 require File.dirname(__FILE__) + '/../config/environment'
3 3  
4   -anhetegua = Profile.create!(:name => 'anhetegua', :identifier => 'anhetegua')
  4 +anhetegua = Profile.create!(:name => 'noosfero', :identifier => 'noosfero')
5 5  
6 6 User.create!(:login => 'testprofile', :email => 'admin@localhost.localdomain', :password => 'test', :password_confirmation => 'test')
7 7 User.create!(:login => 'user', :email => 'user@localhost.localdomain', :password => 'user', :password_confirmation => 'user')
... ...